2
respostas

Números continuam saindo repetidos

Olá, pessoal!

Fiz o código muitíssimo parecido com o do professor. Ele não dá nenhum erro no console mas está saindo com números repetidos ainda. Segue evidência.

números repetidos continuam aparecendo no log

Abaixo o código:

<meta charset="utf-8">

<input/>
<button>Compare!</button>

<script>

    function aleatorio(n){
        return Math.round(Math.random() * n);
    }

    function geraNumeros(quantidade){

        var segredos = []; 

        var i = 1;

        while(i <= quantidade){

            var numeroAleatorio = aleatorio(10);
            var achou = false;

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

            if (achou == false) {
                segredos.push(aleatorio(10));
                i++;
            }
        }

        return segredos;
    }

    var quantosSegredos = parseInt(prompt("Com quantos números você quer jogar? (Gerará esta quantidade de números corretos."));

    var segredos = geraNumeros(quantosSegredos);

    var input = document.querySelector("input"); 

    input.focus(); 

    function verifica(){

        var achou = false;

        for(var i = 0; i < segredos.length; i++){ 
            if(input.value == segredos[i]){ 
                alert("Você acertou!");
                achou = true;
                break; //para parar a repetição caso acerte.
            } 
        }

        if (achou == false) {
            alert("Você errou!");
        }

        input.value = "";
        input.focus();
    }

    var button = document.querySelector("button"); 

    button.onclick = verifica; 

</script>
2 respostas

Somente copiei e colei e deu tudo certo.

Victor, bom dia! Tudo bem?

A questão é que os números ainda continuam saindo de forma repetida, conforme novo teste que realizei abaixo.

novo teste números repetidos array