Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Não entendi qual seria a função da variável "achou" nesse programa. Poderia me ajudar ?

<meta charset="UTF-8">

<input/>
<button>Compare com o meu segredo</button>

<script>
    function sorteia() {

       return Math.round(Math.random() * 10);

    }

    function sorteiaNumeros(quantidade) {

        var segredos = [];

        var numero = 1;

        while(numero <= quantidade) {

              var numeroAleatorio = sorteia();
              var achou = false;

              if (numeroAleatorio !== 0) {
                     for(var posicao = 0; posicao < segredos.length; posicao++) {

                           if(segredos[posicao] == numeroAleatorio){
                                achou = true;
                                break;
                           }

                     }

                     if (achou == false) {
                           segredos.push(numeroAleatorio);
                           numero++;
                     }
              }

        }

        return segredos;

    }

    var segredos = sorteiaNumeros(6);

    console.log(segredos);

    var input = document.querySelector("input");
    input.focus();

    function verifica() {

       var achou = false;

       for(var posicao = 0; posicao < segredos.length; posicao++) {

              if(input.value == segredos[posicao]) {

                     alert("Você ACERTOU!");
                     achou = true;
                     break;
              } 
       }

       if(achou == false) {

              alert("Você ERROU!");
       }

       input.value = "";
       input.focus();

    }

    var button = document.querySelector("button");

    button.onclick = verifica;

</script>
1 resposta
solução!

Olá, Nathan, tudo bem? Dei uma olhadinha no seu código e na sua pergunta. Essa var achou = false funciona assim: Se você errar o código, ele vai avisar que errou e também vai trocar o número, impossibilitando que você coloque o mesmo número várias vezes. Sortear números enquanto a variável achou for false dificulta suas chances de acertar, quando ela for true, var achou = true, então dá o break.

Espero ter ajudado! :-)