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>