1
resposta

Desafia do jogo advinha, alternativo

Eu realizei o jogo advinha, porém na minha cabeça o uso da variável "achou" acaba me confundindo e acho mais claro usar dessa maneira. Gostaria de saber se existe algum erro nesse código, pois testei e obtive os mesmos resultados (Por isso o sorteia numero esta com 9, testei com vários para saber se repetiria). Existe uma razão pela qual se deve usar a variável achou?

<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();    

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

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

                     }

                     if (segredos[posicao] !== numeroAleatorio) { 
                           segredos.push(numeroAleatorio);
                           numero++;
                     }
              }

        }

        return segredos;

    }

    var segredos = sorteiaNumeros(9);

    console.log(segredos);

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

    function verifica() {

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

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

                    alert("Você ACERTOU!");
                    break;
                } 
            }

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

                alert("Você ERROU!");
               }

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

    }

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

    button.onclick = verifica;

</script>
1 resposta

Olá, Paula. Seu código funciona muito bem. Parabéns!

Essa estratégia que você usou é válida sim! Mas em alguns momentos não será possível fazer algo do tipo, pois teríamos que verificar algo (nesse caso seria se achou) e no final fazer alguma ação.

Pode ser que sejam muitas verificações e por fim muitas possíveis ações também. Então do jeito que o instrutor mostrou, você separa o momento de verificação para o momento da ação.

Mas que bom que você conseguiu pensar de outra forma! Continue assim!

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