Trabalho de POO

Ai pessoal, estou a 3 semanas pra fazer a porra do meu trabalho de POO(programação orientada a objetos).
O professor é uma bosta, tipo se tu pergunta pra ele " Ah, q q é issu aki professor? pq meu codigo num tah funfando?" ele responde algo do tipo “Olha ai! No meu ta funcionando!” …
entaum resumindo, eu tenho que fazer um jogo com orientação a objetos sem o minimo de noção …
aqui tah o q ele pede http://www.4shared.com/document/HRB68D0s/Projeto1.html?
aqui tah o q eu fiz(ñ vale rir) http://www.4shared.com/file/HJ5VD1bl/ProjetoPOO.html?
se alguem pode me dar uma mão ai pra fica supinpa o bagui …
eu ainda não sei usar swing intaum o bagui tah soh no texto …

Desde já agradecido.

ai vai o codigo, tem umas 6 ou 7 classe …

[code]package Negocio;

import Persistencia.JogadorCSV;
//import java.util.Scanner;

/**
*

  • @author user
    */
    public class Gerente {

    JogadorCSV jogadorCsv = new JogadorCSV(this);

    public JogadorCSV getJogadorCSV() {
    return jogadorCsv;
    }

    public static void main(String[] args) {
    /*Scanner entrada = new Scanner(System.in);
    Jogador jogador[] = new Jogador[5];

     int j= 0;
     while (j < 5) {
     System.out.print("Digite 1 p/ Jogador, 0 p/ sair.): ");
     int opcao = Integer.parseInt(entrada.nextLine());
     if (opcao == 0) break;
     
     System.out.print("Nome: ");
     String nome = entrada.nextLine();
     
     System.out.print("Endereco: ");
     String endereco = entrada.nextLine();
     
     System.out.print("Telefone: ");
     String telefone = entrada.nextLine();
     
     
     if (opcao == 1) {
     Jogador jog = new Jogador();
     jog.setNome(nome);
     jog.setEndereco(endereco);
     jog.setTelefone(telefone);
     jogador[j++] = jog;
     }
     
     }
     
     for (int x = 0; x < 5; x++) {
     if (jogador[x] != null) jogador[x].imprime();
     }*/
    

    }
    }[/code]

[code]package Negocio;
//import java.util.Date;

public class Jogador {
protected String nome;
protected String endereco;
protected String telefone;
/*protected Date nascimento;

public Date getNascimento() {
    return nascimento;
}

public void setNascimento(Date nascimento) {
    this.nascimento = nascimento;
}*/


public String getEndereco() {
    return endereco;
}

public void setEndereco(String endereco) {
    this.endereco = endereco;
}

public String getNome() {
    return nome;
}

public void setNome(String nome) {
    this.nome = nome;
}

public String getTelefone() {
    return telefone;
}

public void setTelefone(String telefone) {
    this.telefone = telefone;
}
public void imprime() {
    System.out.println("Nome: " + nome);
    System.out.println("Endereco: " + endereco);
    System.out.println("Telefone: " + telefone);
    //System.out.println("Data Nascimento: " + nascimento);
}
@Override
public String toString(){
        return getNome()+": "+getEndereco()+" ("+getTelefone()+")";
}

}

[/code]

[code]/*

  • To change this template, choose Tools | Templates
  • and open the template in the editor.
    */
    package Negocio;

/**
*

  • @author user
    */
    public class JogadorHumano extends Jogador {
    Jogodavelha jogarvelha = new Jogodavelha();
    int opcao;

}
[/code]

[code]/*

  • To change this template, choose Tools | Templates
  • and open the template in the editor.
    */
    package Negocio;

/**
*

  • @author user
    */
    public class JogoDeAdvinhacao {

    private int numeroSorteado;
    private int rodada;

    public void jogar() {
    boolean alguemGanhou = false;
    this.rodada = 1;
    do {
    this.sortearNumero();
    this.obterPalpites();

         UI ui = new UI();
         alguemGanhou = this.hasAcertador();
         if (alguemGanhou == true) {
             ui.imprimirResultado(rodada, ganhador);
         } else {
            ui.imprimirResultado(rodada);
         }
         
         rodada++;
     } while (alguemGanhou == false);
    

    }

    public void sortearNumero() {
    this.numeroSorteado = (int) (Math.random() * 10);
    }

    public void obterPalpites() {
    for (Jogador jogador : jogadores) {
    jogador.darPalpite();
    }
    }

    public boolean hasAcertador() {
    for (Jogador jogador : jogadores) {
    int palpite = jogador.getPalpite();
    if (palpite == numeroSorteado) {
    this.ganhador = jogador;
    return true;
    }
    }

     return false;
    

    }

    public Jogador getGanhador() {
    return this.ganhador;
    }

    public int getNumeroSorteado() {
    return this.numeroSorteado;
    }
    }[/code]

[code]package Negocio;

public class Jogodavelha {

public static void main (String args [])
{
char a, b;
int num1, num2, contjog, contx, conty;
String nome1, nome2, jogrod, jogada, tela, marcador;
// Entra com os nomes dos jogadores
nome1 = JOptionPane.showInputDialog("Informe o nome do primeiro Jogador (X): ");
nome2 = JOptionPane.showInputDialog("Informe o nome do segundo Jogador (0): ");
String matriz[][] = new String[3][3];


// testa ql o jogador esta jogando
jogrod = nome1;
marcador = ("X");
tela = "";
//monta a tela inicial do jogo
for (contx = 0; contx <3; contx++)
	{
		for (conty = 0; conty <2; conty++)
		{
		matriz[contx][conty] = "   ";
		tela += (matriz[contx][conty]+"|");
		}
		if (contx != 2)
		tela += "\n -------- \n";
	}
	
for (contjog = 0; contjog < 9; contjog++)
{
System.out.println(""+tela+ "\n Informe a jogada de "+jogrod+" : ");
	if ( jogada.equals ("A1") || jogada.equals ("A2") || jogada.equals ("A3") ||jogada.equals ("B1") || jogada.equals ("B2") || jogada.equals ("B3") || jogada.equals ("C1") || jogada.equals ("C2") || jogada.equals("C3") )
	{
a = jogada.charAt(0);
b = jogada.charAt(1);
num1 = a - 65;
num2 = b - 49;

matriz[num1][num2] = marcador;

// testa ql o jogador esta jogando
	if (jogrod == nome1)
	{
		jogrod = nome2;
		marcador = "0";
	}
	else
	{
		jogrod = nome1;
		marcador = "X";
	}
	tela = "";
	//monta a tela atual do jogo
	for (contx = 0; contx <3; contx++)
	{
		for (conty = 0; conty <3; conty++)
		{
		tela += matriz[contx][conty]+"|";
		}
		if (contx < 2)
		tela += "\n -------- \n";
	}
	}else{
	System.out.println(null+" a posição informada é Invalida: ");
	}
	

}
}

}
[/code]

[code]package Principal;

import Negocio.Gerente;
import Negocio.Jogador;
import java.util.ArrayList;
import java.util.Scanner;
/**
*

  • @author user
    */
    public class Main {
    Gerente gerente;
    public Main(Gerente g) {
    gerente = g;
    }
    public void menuInclusao() {
    Scanner entrada = new Scanner(System.in);
    System.out.println(“Digite os dados do Jogador:”);

     Jogador p = new Jogador();
     while (true) {
         try {
             System.out.print("Nome: ");
             p.setNome(entrada.nextLine());
             break;
         } catch (Exception e) {
             System.out.println(e);
         }
     }    
    
     while (true) {
         try {
             System.out.print("Endereço: ");
             p.setEndereco(entrada.nextLine());
             break;
         } catch (Exception e) {
             System.out.println(e);
         }
     }
     
     System.out.print("Telefone: ");
     p.setTelefone(entrada.nextLine());
    
     if (!gerente.getJogadorCSV().adiciona(p)) {
         System.out.println("Erro: Não foi possível adicionar o jogador");
     }
     System.out.println();
    

    }

    public void menuListagem() {
    ArrayList lista = gerente.getJogadorCSV().listagem();

     System.out.println("Jogadores Cadastrados:");
     for (int c = 0; c < lista.size(); c++) {
         System.out.println(lista.get(c));
     }
     System.out.println();
    

    }

    public void menuConsulta() {
    System.out.print("Digite o nome do Jogador: ");
    Scanner entrada = new Scanner(System.in);
    Jogador tmp = gerente.getJogadorCSV().pesquisaPorNome(entrada.nextLine());
    if (tmp != null) {
    System.out.print("Nome: " + tmp.getNome() + “\n”
    + "Endereço: " + tmp.getEndereco() + “\n”
    + "Telefone: " + tmp.getTelefone());
    } else System.out.println(“Jogador não encontrado!”);

     System.out.println();
    

    }
    public void menuExclui() {
    System.out.print("Digite o nome do Jogador a ser excluido: ");
    Scanner entrada = new Scanner(System.in);
    Jogador tmp = gerente.getJogadorCSV().pesquisaPorNome(entrada.nextLine());
    if (tmp != null) {
    System.out.print("Nome: " + tmp.getNome() + “deletado”);
    tmp.setNome(null);
    tmp.setEndereco(null);
    tmp.setTelefone(null);
    } else System.out.println(“Jogador não encontrado!”);

     System.out.println();
    

    }

    public void menuPrincipal() {
    int opcao;

     while (true) {
         System.out.println("Menu:");
         System.out.println("1: Incluir Jogador");
         System.out.println("2: Listar Jogadores");
         System.out.println("3: Consultar Jogadores");            
         System.out.println("4: Excluir Jogadores");
         System.out.println("5: Jogar Jogo da velha");
         System.out.println("6: Jogar Jogo de Advinhação");
         System.out.println("0: Sair");
         System.out.print("Digite sua opção: ");
         Scanner entrada = new Scanner(System.in);
         opcao = entrada.nextInt();
    
         switch (opcao) {
             case 1:
                 menuInclusao();
                 break;
             case 2:
                 menuListagem();
                 break;
             case 3:
                 menuConsulta();
                 break;
             case 4:
                 menuExclui();
                 break;
             case 5:
                 JogoDeAdivinhacao ja = new JogoDeAdivinhacao();
                 ja.jogar();
                 break;
             case 6:
                 Jogodavelha jv = new Jogodavelha();
                 jv.jogar();
                 break;
             case 0:
                 return;
             default: System.out.print("Opção Inválida!");          
         }
     }
    

    }
    public static void main(String[] args) {
    Gerente gerente = new Gerente();
    Main main = new Main(gerente);
    main.menuPrincipal();

    }
    }
    [/code]

ele pede :
PROGRAMAÇÃO ORIENTADA A OBJETOS ? PROJETO 01

  1. Objetivo do Projeto
    Fazer um jogo de computador a sua escolha.
  2. Descrição
    O jogo deverá ter ao menos 4 classes diferentes na camada de Negócio (sem incluir aqui as
    classes gerentes). Ex.: Jogo, Jogador (JogadorHumano/JogadorMáquina), Score, Fase, Tabuleiro,
    Item,… Herança, sobreescrita e sobrecarga também devem ser utilizados e serão cobrados.
    Funções para cadastro dos dados dos jogadores (nome, endereço, telefone, nascimento),
    fazer alteração, consulta por nome e remoção devem ser disponibilizadas. Faça verificações para
    os casos de telefone e nascimento com valores inválidos. Todos os campos exceto telefone são
    obrigatórios.
    O estado dos objetos deve persistir de uma execução para outra (dados não devem ser
    perdidos ao sair do programa).
    O jogo deve ser implementado utilizando 3 camadas: apresentação, negócio e persistência.
    A apresentação deve ser feita em modo texto enquanto a persistência dos dados deve ser feita
    em arquivo CSV.
  3. Relatórios
    Os relatórios serão gerados em HTML. Eles podem ser adaptados conforme o caso:
    ? Jogadores cadastrados
    ? Top 10 scores
    ? Últimos 10 scores
  4. Divisão do Trabalho e Avaliação
    O trabalho será em dupla.
    Os alunos devem dividir as tarefas ao desenvolver o sistema. Cada um será avaliado pela
    parte que implementou. Entre os quesitos avaliados estão a correta utilização da orientação a
    objetos, organização do código, recursos do sistema desenvolvido, qualidade e conformidade com
    a especificação do trabalho.
    Este trabalho vale 30% da nota do 1º bimestre.

ultima vez que edito sério!

[code]package Persistencia;

import Negocio.Gerente;
import Negocio.Jogador;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.util.ArrayList;

public class JogadorCSV {
ArrayList jogadores = new ArrayList();
Gerente gerente;

public JogadorCSV(Gerente gerente){
    this.gerente=gerente;
    leCSV();
}
public void leCSV() {
    try {
        FileReader fr = new FileReader("jogadores.csv");
        BufferedReader arq = new BufferedReader(fr);
        String linha = arq.readLine();
        while (linha != null) {
            if (linha.trim().length() > 0) {
                String[] dados = linha.split(";");
                Jogador tmp = new Jogador();
                tmp.setNome(dados[0].trim());
                tmp.setEndereco(dados[1].trim());
                tmp.setTelefone(dados[2].trim());
                jogadores.add(tmp);
            }
            linha = arq.readLine();
        }
        arq.close();         
    } catch (Exception e) {
        System.out.println("Erro!");
    }
}
public void salvaCSV(){
    try{
        FileWriter fr = new FileWriter("jogadores.csv");
        BufferedWriter arq = new BufferedWriter(fr);
        for(int c=0; c<jogadores.size(); c++){
            arq.write(jogadores.get(c).getNome()+";"+
                      jogadores.get(c).getEndereco()+";"+
                      jogadores.get(c).getTelefone());
            arq.newLine();                
        }
        arq.close();
    }catch (Exception e) {
        System.out.println("Erro!");
    }
}
public boolean adiciona(Jogador p){
    if(pesquisaPorNome(p.getNome())!=null)
        return false;
    else{
        jogadores.add(p);
        salvaCSV();
        return true;
    }
}

public ArrayList<Jogador> listagem(){
    return jogadores;
}
public Jogador pesquisaPorNome(String nome) {
    for(int c=0; c<jogadores.size();c++){
        if(jogadores.get(c).getNome().equals(nome))
            return jogadores.get(c);
    }
    return null;
}    

}[/code]

Poste o enunciado e o código aqui mesmo.
Só não se esqueça de, ao postar os códigos, utilizar as TAGs [code][/code]

[]'s

nimguem ae sabe POO ?

naum, ngm faz exercício para ngm, vai ralar um poko dps volta aki…

Concordo com o Luxu… Poste dúvidas específicas :wink:

(IRONIA (x)ON ( )OFF)
Ainda bem que ele me lembrou que Java é OO porque eu tava programando de forma estruturada…
(IRONIA ( )ON (X)OFF)

Direto vejo gente com um ou dois posts pedindo coisa pronta aqui. Desanimador :frowning:

Por isso que o “Trabalho de Poo” ?? :slight_smile:

//Daniel