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

Números do array não se alteram

Os números do array não deveriam mudar depois de cada vez que eu aperto o botão? No meu ele continua com o mesmo segredo após eu ter dado um chute.

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

            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(3);
    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!

Olá, Pedro.

A função sorteiaNumeros é chamada fora da função verifica, que trata o clique do botão.

Se você quiser sortear novamente, teria que chamar a função sorteiaNumeros de dentro da verifica!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software