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
- Objetivo do Projeto
Fazer um jogo de computador a sua escolha. - 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. - 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 - 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]