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?
killerkil, posta o código que você já fez para a gente poder te ajudar!
E
entanglement
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
entanglement
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
killerkill
,
K
killerkill
packagePacote;importjava.util.Scanner;publicclassPrincipal{publicstaticvoidmain(Stringargs[]){JogadorJ1=newJogador();JogadorJ2=newJogador();DadoN=newDado();ScannerScan=newScanner(System.in);JuizJudge=newJuiz();do{System.out.println("Digite o nome do jogador: ");Stringnome2=Scan.nextLine();J2.setNome(nome2);System.out.println("Digite a idade do jogador "+J2.getNome());intidade2=Scan.nextInt();J2.setIdade(idade2);System.out.println("Digite o nome do jogador: ");Stringnome1=Scan.nextLine();J1.setNome(nome1);System.out.println("Digite a idade do jogador "+J1.getNome());intidade1=Scan.nextInt();J1.setIdade(idade1);}while(Judge.permissao()!=1);}}packagePacote;publicclassJogador{privateintidade;privateStringnome;privateintvalorDoDado;Dadodado=newDado();//Métodos getters&setters publicvoidsetNome(Stringnome){this.nome=nome;}publicStringgetNome(){returnthis.nome;}publicvoidsetIdade(intidade){this.idade=idade;}publicintgetIdade(){returnthis.idade;}publicvoidsetValorDoDado(){}publicintgetValorDoDado(){returnthis.valorDoDado;}}packagePacote;importjava.util.Random;publicclassDado{privateintnumeroSorteado;//Instanciando Objeto Randomaleatorio=newRandom();//Getters&Setters publicvoidsetNumeroSorteado(){this.numeroSorteado=aleatorio.nextInt(5)+1;//de 0-5 mais 1 resultando de 1-6 }publicintgetNumeroSorteado(){returnthis.numeroSorteado;}}packagePacote;publicclassJuiz{JogadorJ1=newJogador();JogadorJ2=newJogador();publicintpermissao(){if(J1.getIdade()>=18&&J2.getIdade()>=1{return1;}else{return0;}}publicvoidinformaResultado(){}}
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
killerkill
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