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

O programa não roda

<meta charset="UTF-8">

<h3>Qual o seu Chute?</h3>
<input/>
<button>Compare com o meu Segredo</button>

<script>

    //var numeroPensado = Math.round(Math.random() * 10);
    //var segredos = [5,7,10,2,3];

    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) {
                var achou = false;

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

    console.log(segredos);
    //segredos.push (sorteia());
    //segredos.push (sorteia());
    //segredos.push (sorteia());
    //segredos.push (sorteia());
    //segredos.push (sorteia());

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

Ja revisei todo o código mas continua sem rodar. o navegador fica carregando, carregando e nada. não consigo entrar também no console para verificar o erro.

5 respostas

Olá, Alexandre, tudo bem?

No sua função sorteia, o sinal de parênteses está posicionado incorretamente, veja:

function sorteia () {
        return Math.round(Math.random()) * 10;
    }

Você fechou o Math.round, antes do 10, o correto deveria ser:

function sorteia () {
        return Math.round(Math.random() * 10);
    }

Testei aqui e deu certo, agora!

Erros como esse, de fechamento de parênteses, colchetes e chaves são comuns, por isso devemos ler atentamente nosso código e alguns editores de código auxiliam a pegar esses deslizes, também.

Bons estudos!

Muito obrigado! Estes editores de códigos, teria algum para indicar?

Sublime ou Visual Studio Code são boas opções.

Ver o console nas ferramentas do desenvolvedor do navegador (pressionando F12) também funciona para identificar os erros.

ja uso o sublime (recomendado pela instrutor no inicio do curso) e o F12 neste caso específico não consegui verificar, pois travou o navegador.

muito obrigado pelo retorno

solução!

Travou pois, provavelmente, esse erro desencadeou outro erro em um dos loops do seu código que não conseguiu se encerrar e ficou rodando "eternamente".