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

Programa não carrega

Eu tentei rodar meu programa, mas ele não carrega, eu imagino que talvez seja um loop infinito no primeiro While, mas eu não sei como corrigir.

segue o código:

<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(3)
    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!

Oi Nicolas, o problema está na chave do for

Vc colocou if q faz o push dentro do for

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;
                            }
                    } // colocar esta chave

                    if(achou == false) {
                        segredos.push(numeroAleatorio);
                        numero++;
                    }
                // } remover esta chave                 
            }
        };

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