1
resposta

Jogo da advinhação - sem repetir números

Alguém consegue me ajudar a encontrar o erro? Quando abro no navegador, ele dá um erro na linha 61 : "Uncaught SyntaxError: Illegal break statement".

Mesmo comparando com o código da resposta, não encontrei a diferença.

<meta charset="UTF-8">

<input/>
<button>Confira</button>
<script>


function sorteio () {

    return Math.round(Math.random() * 10);
} 

function sorteiaNumeros (quantidade) {

    var segredos = [];

    var contador = 1;


while (contador <= quantidade) {
    var numeroAleatorio = sorteio();

    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);
                contador++;
            }

    }
}

    return segredos;

}

    var segredos = sorteiaNumeros(4);
    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

Então, faltou um "=" nessa parte, desse jeito, você tá fazendo achou receber false, e não comparando, como deveria ser.

if (achou == false) {
        segredos.push(numeroAleatorio);
        contador++;
}