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

segredos.push não é uma função

<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; segredos++); {
                if(segredos[posicao] == numeroAleatorio){
                    achou = true
                    break
                }
            }            

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

        }

        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>

aqui diz que segredos.push não é uma função, mais especificamente na linha 33, onde está if(achou == false) { segredos.push(numeroAleatorio); numero++ }

1 resposta
solução!

Em sorteiaNumeros está segredos++ no lugar de posicao++

            for(var posicao = 0; posicao < segredos.length; segredos++); {
                if(segredos[posicao] == numeroAleatorio){
                    achou = true
                    break
                }
            }