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 ...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();
}*/
}
}
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()+")";
}
}
/*
* 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;
}
/*
* 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;
}
}
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: ");
}
}
}
}
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<Jogador> 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();
}
}
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.
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<Jogador> jogadores = new ArrayList<Jogador>();
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;
}
}


