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

Eu utilizo o console.log no meu codigo mas não mostra corretamente oque deveria?!

<meta charset="UTF-8">

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

<script>

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

    function sorteiaNumeros(quantidade) {
        var segredos = [];

        var numero = 1

        while(numero <= segredos) {
            segredos.push(sorteia());
            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>
1 resposta
solução!

Rafael,

seu código tem alguns problemas: Esta function recebe o argumento 'quantidade', e deveria comparar a variável numero <= quantidade, e não com segredos:

while(numero <= quantidade) {

A function sorteia() deveria apenas sortear um número aleatório, mas ela sorteia e joga dentro do array 'segredos'. Para apenas sortear, deixe assim:

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

Com isto, seu código já deverá funcionar. Mas ele sorteará valores para 'segredo' que podem ser repetidos.

Dê uma olhada na aula https://cursos.alura.com.br/course/logica-programacao-javascript-html/task/17765 para ver qual solução o professor deu para impedir o armazenamento de números repetidos na variável 'segredos'.

Bons estudos!