Jogo de dado

7 respostas
K

Aê pessoal, ja reprovei uma vez na matéria de java e agora to fazendo denovo! é o seguinte. Tenho que implementar um código que simule um jogo de dados.
deve haver 2 jogadores(objetos) um dado(objeto) e um juiz (objeto) e a classe principal.
Fiz o seguinte, criei a classe Dado com um dado de 6 lados mas coloquei como private… enfim, criei as funcoes getters e setters certinho pra ela…
criei a classe Jogadores com os atributos nome e idade (privados);
Criei o objeto juiz, que nao sei se tem que ter algum atributo.

Os jogadores nao podem ter menos de 18 anos. O juíz deve verificar isso então fiz um método em Juiz que me retorna 1 caso jogador1 ou 2 tenha idade nao permitida.
aí começo a embolar tudo! suo de raiva aqui porque eu nao consigo me organizar! tudo oque começo a fazer começo a puxar pro lado do C… com esse esquema de retorna alguma coisa…

pra completar se o resultado for igual os jogadores devem repetir a jogada…

bom, eu estou recebendo os nomes e a idade na classe principal e armazenando esses valores no seu devido atributo de cada objeto.
Daí pra frente nao estou conseguindo me organizar mais… alguém pode me ajudar?

7 Respostas

bobmatta

killerkil, posta o código que você já fez para a gente poder te ajudar!

E

Realmente você está “puxando para o lado do C”. Em Java não é bom “retornar 1 se verdadeiro ou 0 se falso”. Retorne “true” ou “false” (tipo de retorno: boolean).

E

Pergunta - você pelo menos tem uma idéia de o que o programa deve imprimir quando você for implementá-lo?

É uma forma de :

a) Você saber o que precisa fazer,
e
b) Você poder conferir se fez tudo que tem de fazer.

K

,

K
package Pacote; 

import java.util.Scanner; 

public class Principal { 

public static void main(String args[]) { 
Jogador J1 = new Jogador(); 
Jogador J2 = new Jogador(); 
Dado N = new Dado(); 
Scanner Scan = new Scanner(System.in); 
Juiz Judge = new Juiz(); 



do { 

System.out.println("Digite o nome do jogador: "); 
String nome2 = Scan.nextLine(); 
J2.setNome(nome2); 

System.out.println("Digite a idade do jogador " + J2.getNome()); 
int idade2 = Scan.nextInt(); 
J2.setIdade(idade2); 

System.out.println("Digite o nome do jogador: "); 
String nome1 = Scan.nextLine(); 
J1.setNome(nome1); 

System.out.println("Digite a idade do jogador " + J1.getNome()); 
int idade1 = Scan.nextInt(); 
J1.setIdade(idade1); 

} while (Judge.permissao() != 1); 



} 
} 




package Pacote; 

public class Jogador { 

private int idade; 
private String nome; 
private int valorDoDado; 
Dado dado = new Dado(); 

//Métodos getters&setters 
public void setNome(String nome) { 
this.nome = nome; 
} 

public String getNome() { 
return this.nome; 
} 

public void setIdade(int idade) { 
this.idade = idade; 
} 

public int getIdade() { 
return this.idade; 
} 

public void setValorDoDado() { 
} 

public int getValorDoDado() { 
return this.valorDoDado; 
} 
} 





package Pacote; 

import java.util.Random; 

public class Dado { 


private int numeroSorteado; 
//Instanciando Objeto 
Random aleatorio = new Random(); 

//Getters&Setters 
public void setNumeroSorteado() { 
this.numeroSorteado = aleatorio.nextInt(5) + 1; //de 0-5 mais 1 resultando de 1-6 
} 

public int getNumeroSorteado() { 
return this.numeroSorteado; 

} 
} 


package Pacote; 

public class Juiz { 

Jogador J1 = new Jogador(); 
Jogador J2 = new Jogador(); 

public int permissao() { 
if (J1.getIdade() >= 18 && J2.getIdade() >= 1 { 
return 1; 
} else { 
return 0; 
} 
} 

public void informaResultado() { 
} 


}

Então, O que me falta é só resolver o problema do método em juis, informaResultado.
Quero dizer como eu vou fazer pra jogar os dados novamente caso de empate?

muito obrigado pela atencao galera.

RodrigoKaos
this.numeroSorteado = aleatorio.nextInt(5) + 1; //de 0-5 mais 1 resultando de 1-6

Essa parte ta errada (0, 1, 2, 3, 4), no caso teria que ser 6 e depois somar 1[0, 1, 2, 3, 4, 5]+1

K

RodrigoKaos:
this.numeroSorteado = aleatorio.nextInt(5) + 1; //de 0-5 mais 1 resultando de 1-6
Essa parte ta errada (0, 1, 2, 3, 4), no caso teria que ser 6 e depois somar 1[0, 1, 2, 3, 4, 5]+1

Ops, verdade… obrigado

Criado 13 de junho de 2013
Ultima resposta 13 de jun. de 2013
Respostas 7
Participantes 4