Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Os numeros estao se repetindo

Nao estou conseguindo achar onde ta o erro que ta fazendo os numeros sorteados se repetir. Alguem pode ajudar a ver o erro?

<meta charset="UTF-8">

<input>
<button>Compare com 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;

            if (numeroAleatorio !== 0) {
                for(var posicao = 0; posicao < segredos.lenth; posicao++) {
                        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('Voce ACERTOU!');
                achou = true;
                break;
            } 
        }    

        if(achou == false) {
            alert('Voce ERROU!');
        }

        input.value = "";
        input.focus();
    }
     var button = document.querySelector("button");
     button.onclick = verifica;

</script>
3 respostas
solução!

Dê uma olhada na sua function sorteiaNumeros. A palavra length faltou o "g".

    function sorteiaNumeros(quantidade) {

        var segredos = [];

        var numero = 1;

        while(numero <= quantidade) {

            var numeroAleatorio = sorteia();
            var achou = false;

            if(numeroAleatorio !== 0) {
                for(var posicao = 0; posicao < segredos.length; posicao++) {

                    if(segredos[posicao] == numeroAleatorio) {
                        achou = true;
                        break;
                    }
                }

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

        return segredos;
    }

Valeu demais irmao!!!!

Show! Qualquer coisa vamos ajudando um ao outro! Bons estudos!! Abraços!!