Oi Vladimir!
A lógica estava indo no caminho certo, só faltaram alguns detalhes de sintaxe para corrigir, especialmente no primeiro bloco if
. Faltava um conjunto de {}
para fechar o primeiro bloco e os ()
da condição estavam fechando antes de indicar qual a posição no array segredos[posicao]
, o que fazia com que o código não obedecesse direito a instrução.
Código original:
function verifica() {
var achou = false;
for (var posiçao = 0; posiçao < segredos.length; posiçao++){
// aqui faltou abrir e fechar as chaves {} e corrigir os ()
if(input.value == segredos)[posiçao]
alert(" VOCE ACERTOU!!!")
achou = true;
break;
}
// a função está fechando aqui, então o segundo if ficou de fora
}
if(achou == false){
alert ("VOCE ERROU!!!");
}
Código corrigido:
function verifica() {
var achou = false;
for (var posicao = 0; posicao < segredos.length; posicao++){
// corrigimos os () da condição e incluímos {} para abrir e fechar o bloco
if(input.value == segredos[posicao]) {
alert(" VOCE ACERTOU!!!")
achou = true;
break;
}
}
if(achou == false){
alert ("VOCE ERROU!!!");
}
input.value = "";
input.focus();
// função agora fecha aqui, no lugar correto.
}
Há mais algumas coisas que você pode fazer para melhorar:
posicao
ao invés de posiçao
).Bons estudos ;)
Muito obrigado , Juliana!