Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Desafio Final

Bom dia Pessoal estou com duvida de como validar a repetição de números, já digitado pelo jogador, exemplo: se o usuario digitar 10 ele nao podera mas digitar esse numero e mostrar uma mensagem

<meta charset="utf-8">

<script>
    var loteria = [6];
    var palpite = [6];
    var acertou = 0;

    for (var i = 0; i <= loteria.length-1; i++) {
        loteria[i] = (Math.round(Math.random() * 60));
    }

   for (var i= 0; i <= 5; i++){
       palpite[i] = parseInt(prompt("Digite o seu " + (i + 1) + " palpite: "));

       if(palpite[i] > 60){
              alert("Digita numero de 1 a 60");
          }


   }

   for (var iLot = 0; iLot <= loteria.length - 1; iLot++){
      for (var iPalp = 0; iPalp <= palpite.length - 1; iPalp++){     
          if (palpite[iPalp] == loteria[iLot]){
                  acertou++;    
          }  
      }

   }

   document.write("voce acertou " + acertou + " palpites" );
</script>
3 respostas
solução!

Olá Denis tudo bem?

Então, para verificar se o número já foi digitado anteriormente criamos um (for()), dentro deste outro (for()) que está recebendo os números digitados pelo usuário, para que este possa percorrer os números anteriores e comparando cada número do array (vetor) ao número atual e se caso a comparação do if de dentro deste segundo (for()) for verdadeiro ele manda uma alerta (alert()) ao usuário e diminui uma posição do array (vetor) usando decremento (i--;) para solicitar ao usuário que insira outro número na mesma posição,

<meta charset="utf-8">
<script>
    var loteria = [6];
    var palpite = [6];
    var acertou = 0;

    for (var i = 0; i <= loteria.length-1; i++) {
        loteria[i] = (Math.round(Math.random() * 60));
    }

    for (var i= 0; i <= 5; i++){
      palpite[i] = parseInt(prompt("Digite o seu " + (i + 1) + " palpite: "));

      if(palpite[i] > 60){
        alert("Digita numero de 1 a 60");
      }
      for(var index = 0; index < i; index++){
        if(palpite[index] == palpite[i]){
          alert("Este número já foi digitado anteriormente, favor digitar outro número");
          i--;
          break;
        }
      }
   }

   for (var iLot = 0; iLot <= loteria.length - 1; iLot++){
      for (var iPalp = 0; iPalp <= palpite.length - 1; iPalp++){
          if (palpite[iPalp] == loteria[iLot]){
                  acertou++;
          }
      }

   }

   document.write("voce acertou " + acertou + " palpites" );
</script>

Espero ter ajudado e bons estudos,

Atenciosamente,

Opa Renan Blz, Obrigado pela ajuda deu certo a dica que vc me passou, olha como ficou agora:

    <meta charset="utf-8">

<script>
    var loteria = [];
    var palpite = [];
    var acertou = 0; 

    for (var i = 1; i <= 6; i++) {
        loteria[i] = (Math.round(Math.random() * 60));
    }

    for (var i= 1; i <= 6; i++){
       palpite[i] = prompt("Digite o seu " + (i) + " palpite: ");

       if(palpite[i] > 60 || (palpite[i] <= 0)){
              alert("Digita numero de 1 a 60");
              i--;
              continue;
          }

         for (var index = 1; index < i; index++) {
              if(palpite[index] == palpite[i]){
                alert("Numeros já Escolhido");
                i--;
                break;
               }

          }

    }


    for (var iLot = 1; iLot <= loteria.length - 1; iLot++){
      for (var iPalp = 1; iPalp <= palpite.length - 1; iPalp++){     
          if (palpite[iPalp] == loteria[iLot]){
                  acertou++;    
          }  
      }

    }

   document.write("voce acertou " + acertou + " palpites" );
   document.write("<br>");

   for (var i = 1; i <= 6; i++){
      document.write("numeros sorteado " + i + ": " + loteria[i] + " palpites digitados " +  palpite[i]);    
      document.write("<br>");
   }

</script>

Olá Denis,

Aplicou corretamente os conceitos apresentados, qualquer dúvida pode postar no fórum que vamos responder da melhor forma e com maior prazer,

Atenciosamente,

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software