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

Meu código ainda repete números dentro do array.

<meta charset="utf-8">

<input/>

<button>  Compare com meu segredo </button>


<script> 

    // function sorteia vai gerar um numero aleatorio
    function sorteia() {

        return Math.round(Math.random()*10);

    }

    // sorteia numeros vai gerar a qtd de numeros a serem sorteados (lista de segredos)
    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.legth; posicao++) {

                    if(segredos[posicao] == numeroAleatroio) {

                    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>
2 respostas
solução!

Luiz, você teve uns erros de digitação.

 if(numeroAleatorio !== 0) { //aqui !=
                var achou = false;
                for(var posicao = 0; posicao < segredos.legth; posicao++) { //aqui no length

                    if(segredos[posicao] == numeroAleatroio) { // aqui no numeroAleatorio

o certo

...
if(numeroAleatorio != 0) {

    var achou = false;
    for(var posicao = 0; posicao < segredos.length; posicao++) {

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

     }
...

Vânia, verdade!

Obrigado pelo suporte!