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

Não sei porque não funciona meu código

<meta charset="UTF-8">

<input/>

<button>Compare 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.length; posicao++);

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

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

                } ;
            }

        }

        return segredos;
    }

    var  segredos = soteiaNumeros(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>
3 respostas

Achei o problema! Faltou fechar um bloco e esqueci uma letra em uma variável.

solução!

Boa tarde Marcos,

Tinha alguns erros no seu código, a começar pelo:

segredos.push(numeroAleatorio) {
    numero++;  
} ;

Essa { depois de (numeroAleatorio). Eu removi e ficou desta forma:

segredos.push(numeroAleatorio);
numero++;

Depois, o método que você chama na parte:

var  segredos = soteiaNumeros(3);

estava errado, faltava o R do sorteiaNumeros.

Com isso, o programa funcionou e o código ficou assim:

<meta charset="UTF-8">
<input/>
<button>Compare 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.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>

Agradeço a ajuda!