void guess() {
targetNumber = (int) (Math.random() * 10);
System.out.println(“Estou pensando em um número entre 0 e 9…”);
}
}
class GameLauncher {
public static void main (String[] args) {
GuessGame game = new GuessGame();
game.startGame();
class GuessGame {
Player p1;
Player p2;
Player p3;
int guessp1 = 0;
int guessp2 = 0;
int guessp3 = 0;
boolean p1isRight = false;
boolean p2isRight = false;
boolean p3isRight = false;
int x = 10;
void startGame() {
p1 = new Player();
p2 = new Player();
p3 = new Player();
}
while (x == 10) {
System.out.println(“O número a adivinhar é” + targetNumber);
p1.guess();
p2.guess();
p3.guess();
guessp1 = p1.number;
System.out.println(“O jogador um forneceu o palpite” + guessp1);
guessp2 = p2.number;
System.out.println(“O jogador dois forneceu o palpite” + guessp2);
guessp3 = p3.number;
System.out.println(“O jogador três forneceu o palpite” + guessp3);
if (guessp1 == targetNumber) {
p1isRight = true;
}
if (guessp2 == targetNumber) {
p2isRight = true;
}
if (guessp3 == targetNumber) {
p3isRight = true;
}
if (p1isRight || p2isRight || p3isRight) {
System.out.println("Temos um vencedor!");
System.out.println("O jogador um acertou? " + p1isRight);
System.out.println("O jogador dois acertou? " + p2isRight);
System.out.println("O jogador três acertou? " + p3isRight);
System.out.println("Fim do jogo.");
x = x + 1;
} else {
System.out.println("Os jogadores terão que tentar novamente.");
} // fim de else
} // fim do loop
} // fim da classe guessgame
} // fim do metodo
} // fim da classe gamelauncher[/code]
Bom tá ai, ele não compila da 2 erros no loop (while) ja tentei de tudo e nada…
Aew brother nao eh legal ficar criando topicos repetidos, se tem uma duvida post e espere a resposta.
Com relação a seu código post os erros que esta sendo gerado !
Cara olhando a grosso modo, o seu while não pode ser igual a 10, vc está trabalhando com um loop de repetição então vc pode usar <, > <= >=, para que o while repita o código enquanto a sua condição for verdadeira, pense no while como um boolean!
ou seja enquanto(while) <condição_for_verdade>{faça}.
E vc precisa criar uma instancia de objeto para targetNumber
int number = (int) (Math.random() * 10);
System.out.println(“Estou pensando em um número entre 0 e 9…”);
System.out.println("O número a adivinhar é " + number);
p1.guess();
p2.guess();
p3.guess();
guessp1 = p1.number;
System.out.println("O jogador um forneceu o palpite " + guessp1);
guessp2 = p2.number;
System.out.println("O jogador dois forneceu o palpite " + guessp2);
guessp3 = p3.number;
System.out.println("O jogador três forneceu o palpite " + guessp3);
if (guessp1 == number) {
p1isRight = true;
}
if (guessp2 == number) {
p2isRight = true;
}
if (guessp3 == number) {
p3isRight = true;
}
if (p1isRight || p2isRight || p3isRight) {
System.out.println("Temos um vencedor!");
System.out.println("O jogador um acertou? " + p1isRight);
System.out.println("O jogador dois acertou? " + p2isRight);
System.out.println("O jogador três acertou? " + p3isRight);
System.out.println("Fim do jogo.");
break;
} else {
System.out.println(“Os jogadores terão que tentar novamente.”);
} // fim de else
} // fim de while
} // fim de classe player
} // fim da startgame
} // fim da classe guessgame
} // fim de main
} // fim da classe gamelauncher[/code]
bem cara, eu não entendi muito bem teu código, fiz o meu, vê se você consegue entender…
abraços.
import javax.swing.JOptionPane;
public class Adivinha{
public static void main(String args[]){
comecaJogo();
}
static void comecaJogo(){
int number = (int) (Math.random() * 10); // gera o número aleatório
int palpite;
boolean acertou = false; // define como falso se acertou
while(acertou == false){ // enquanto for falso... ele vai executar
palpite = Integer.parseInt(JOptionPane.showInputDialog(null, "Jogador 1, qual seu palpite? entre 0 e 9", "Palpite Player 1", 1));
if(palpite == number){
JOptionPane.showMessageDialog(null, "Parabéns, Jogador 1 acertou! o número era " + number, "TEMOS UM VENCEDOR", 1);
acertou = true; // quando acerta, muda o valor e sai do while
}
else{
palpite = Integer.parseInt(JOptionPane.showInputDialog(null, "Jogador 2, qual seu palpite? entre 0 e 9", "Palpite Player 2", 1));
if(palpite == number){
JOptionPane.showMessageDialog(null, "Parabéns, Jogador 2 acertou! o número era " + number, "TEMOS UM VENCEDOR", 1);
acertou = true;
}
else{
palpite = Integer.parseInt(JOptionPane.showInputDialog(null, "Jogador 3, qual seu palpite? entre 0 e 9", "Palpite Player 3", 1));
if(palpite == number){
JOptionPane.showMessageDialog(null, "Parabéns, Jogador 3 acertou! o número era " + number, "TEMOS UM VENCEDOR", 1);
acertou = true;
}
else{
JOptionPane.showMessageDialog(null, "Que pena, ninguém acertou... tente de novo.");
}
}
}
}
}
}