olá!!.. Este jogo tá impcavel… Obrigado pela ajudinha… mas tenho uma duvida… eu não keria k o jogador perdesse a vez kuando jogasse mais moedas do k devia… k tipo de coisa devo fazer??
import java.io.*;
public class jogo {
//Metodo responsavel por ler dados informados no console
static int LerTeclado(){
try{
BufferedReader BR = new BufferedReader(new InputStreamReader(System.in));
String s = BR.readLine();
return Integer.parseInt(s);
} catch(IOException e) {
return(0);
} catch(NumberFormatException e) {
return(0);
}
}
public static void main(String[] args) throws IOException {
int iMoedasDoJogador, iMoedas, iControlaJogador;
//Informo o valor inicial do jogo
iMoedas = 22;
//Usarei um contador para diferenciar os jogadores
//Jogador 1=1 && Jogador 2 = 2
iControlaJogador = 1;
//Inicia o jogo com zero jogados
iMoedasDoJogador = 0;
//Faz enquanto existir 1 moeda ou mais
while(iMoedas >= 1) {
do {
//Informativo de valores atuais restantes de Moedas
System.out.println(">> Existem " + iMoedas + " moedas no jogo <<\n");
//Informa o erro SE o jogador informar valor superior a 3
if(iMoedasDoJogador > 3) {
System.err.println ("Não pode retirar mais que 3 moedas");
}
//Mostra mensagem e recebe valor do jogador
System.out.print("Quantas moedas o jogador " + iControlaJogador + " deseja retirar? (Max 3)\n=> ");
iMoedasDoJogador = LerTeclado();
System.out.println();
//Verifica que jogador jogou e muda para o proximo
iControlaJogador = (iControlaJogador == 2)?1:2;
}while(iMoedasDoJogador > 3); //Actualiza quando o valor que o jogador informar for maior que 3
iMoedas = (iMoedas - iMoedasDoJogador);
}
//Informa qual jogador que Ganhou
System.out.println("*** O jogador " + iControlaJogador + " Ganhou! ***");
//Finaliza o Programa
System.exit(0);
}
}
Muito obrigado