2
respostas

Array | Segredo |

Eu comparei uma par de vezes meu código com o do professor e não entendo a razão pela qual não funciona. Segue o código que fiz e abaixo dele o do professor, para ficar mais prático.

Meu código

<meta charset="UTF-8">

<h1>Interação HTML - JavaScript</h1>

<br>
Objetivo: fazer uma caixa de texto que receba um texto (valor) do usuário e compare com o valor criado pelo código. Jogo da Adivinhação de forma mais intuitiva e dinâmica.
<br><br>
<input/>
<button>Qual número estou pensando?</button>

<script>

    var nome = prompt ("Insira seu nome:");
    var input = document.querySelector ("input");
        input.focus ();
    var button = document.querySelector ("button");
    var senha = [2,1,7,9];


        function verificar (){

        var arrayEncontrado = false;

            for (var posicaoArray = 0; posicaoArray < senha.lenght; posicaoArray++) {

// no segundo valor recebido, você pode fazer a condição manualmente (posicaoArray < x)

                if (input.value == senha[posicaoArray]) {

                    alert (nome + ", você acertou!");
                    arrayEncontrado = true;
                    break;
                } 
            }


        if (arrayEncontrado == false) {

            alert (nome + ", você errou. O número escolhido não pertence há nenhum dos números do segredo.");
        }

        input.focus (); //coloca o foco no input (caixa de texto) sem precisar clicar
        input.value = ""; //indica o valor colocado pelo usuário

    }

    button.onclick = verificar;

</script>

Código do Professor

<meta charset="UTF-8">

<input/>
<button>Compare com o meu segredo</button>

<script>

    var segredos = [5,7,10,2,3];

    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

Olá creio que o erro esteja na linha 24 onde você colocou "senha.lenght" onde na verdade deveria ser "senha.length". Espero que tenha ajudado na sua questão e geralmente são erros pequenos assim que passam despercebidos.

Hahahahaha é o "lenght" que ta escrito errado mesmo.

Desculpa rir mas faz anos que eu escrevo essa palavra errado mesmo pronunciando ela certo quando converso com alguém que não fala português, justo hoje eu escrevi no meu caderno de anotação como "lenght" denovo...

Pelo menos sei que tem mais gente que faz o mesmo. Acho que sempre confundo por causa da palavra "light" que o h vem antes do t.