Jogo Mastermind

0 respostas
V

Estou criando um jogo java, Mastermind - Senha.
Regras: http://www.gomes-mota.nome.pt/joao/www/jgcores/regras_jc.html
Com seis cores e quatro escolhidas pelo computador. ( Sem interface gráfica, apenas no console )

import corejava.*;
class MasterMind{

    public static void main (String[] args) {
        
        //apresentando instruções
System.out.println("***SENHA***"); 
System.out.println("O computador irá escolher uma combinação aleatória de números de '0' à '5'.");
System.out.println("Tente advinhar qual é essa combinação através de 10 tentativas, quando solicitado.");
System.out.println("Caso tenha acertado o número e a posição da mesma,irá aparecer a palavra preto.");
System.out.println(" Caso você tenha acertado apenas o número e não a posição, irá aprecer a palavra branco.");
     
        //declarando variáveis
        int numcor;
        int variável1;
        int variável2;
        int variável3;
        int variável4;
        String cor;
        
               
          // sorteio do número
     variável1 = (int)(6*Math.random ( ));
     variável2 = (int) (6*Math.random ( ));
     do
     {
         variável2 = (int) (6*Math.random ( ));
        }while  (variável2 == variável1);
      variável3 = (int) (6*Math.random ( ));
     do 
     {
         variável3 = (int) (6*Math.random ( ));
        }while (variável3 == variável2 ||variável3 == variável1);
      variável4 = (int) (6*Math.random ( ));
     do 
     {
         variável4 = (int) (6*Math.random ( ));
        }while (variável4 == variável3 || variável4 == variável2 || variável4 == variável1);
   
     
     
            

            //
for (int i=0; i<10; i++){


           // jogador escolhe cores
     
     int a, b, c, d;
     
      a = Console.readInt("escolha um número de 0 a 5");
      b = Console.readInt("escolha um número de 0 a 5 diferente do anterior");
      c = Console.readInt("escolha um número de 0 a 5 diferente dos anteriores");
      d= Console.readInt("escolha um número de 0 a 5 diferente dos anteriores");
     
      // computador compara resultado com opção do jogador
      if (a == variável1) { System.out.println ("Pino Preto");}
      if (a == variável2 || a==variável3 || a==variável4) { System.out.println ("Pino Branco");}
      if (b == variável2){ System.out.println ("Pino Preto");}
      if (b == variável1 || b == variável3 || b==variável4) { System.out.println ("Pino Branco");}
      if (c == variável3){ System.out.println ("Pino Preto");}
      if (c == variável1 || c == variável2 || c == variável4){ System.out.println ("Pino Branco");}
      if (d == variável4){ System.out.println ("Pino Preto");}
      if (d == variável1 || c == variável2 || c == variável3){ System.out.println ("Pino Branco");}
     
 
          
 //condicionando a vitória do jogo
if ((variável1 == a) && (variável2 == b) && (variável3 == c) && (variável4 == d)){
System.out.println("P A R A B É N S! Você venceu o jogo.");
break ;
}
}
System.out.println("VOCÊ PERDEU!" + variável1 + variável2 +variável3 + variável4);
    }
}

Porém no código de comparação pode haver a opção de que o jogador não tenha acertado nenhum número. Como posso resolver isso ?

Criado 10 de dezembro de 2011
Respostas 0
Participantes 1