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

Script travado

Ontem tentei abrir o script que fiz conforme a aula, mas ele não abriu. E ainda travava o meu navegador quando tentava novamente! Alguém sabe o que pode estar havendo?

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

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

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

                }
            }

            if (achou == false) {

                segredos.push(numeroAleatorio);
            }

        }

        return segredos;
    }

    var segredos = sorteiaNumeros (5);

    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>
3 respostas
solução!

Olá meu aluno. Veja que no seu método que sorteia número, o while nunca vai terminar, porque você não incrementa a variável numero para saber se ele gerou a quantidade de número aleatórios que você quer. Ele ficará infinitamente gerando os números.

É verdade... Esqueci o incremento "numero++ ". Agora funcionou! Obrigado, professor.

Tranquilo meu aluno! Depois desse curso tem o de lógica 2 para você ficar melhor do que já é em lógica de programação.

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