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

A var achou não foi definida

Quando o meu código roda acontece um bug esquisito que quando digito qualquer número e clico no compare com meu segredo não dá alert nenhum,e se olharmos o console de javascript fica dando erro de referência da var achou.

<meta charset="UTF-8">

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

<script>
    var segredos = [5,7,10,2]
    segredos.push(Math.round(Math.random() * 10))

    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, Robert!

A função verifica () foi fechada antes da segunda condição (se a variável achou for falsa). O correto seria fechá-la logo após a linha 31- onde se localiza o input.focus( );

Segue abaixo o código com o ajuste:

<meta charset="UTF-8">

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

<script>
    var segredos = [5,7,10,2]
    segredos.push(Math.round(Math.random() * 10))

    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>

Espero ter ajudado, tchau! :)