Jogo de dado

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!

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).

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.

,

[code]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() {
}

}

[/code]

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.

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

[quote=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[/quote]

Ops, verdade… obrigado