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

ACHOU está como "is not definid" no console do navegador. O que esta errado?

2 respostas
solução!

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:

  • não adicionar vírgulas após o último elemento do array;
  • não usar caracteres especiais para declarar variáveis (por exemplo, use posicao ao invés de posiçao).

Bons estudos ;)

Muito obrigado , Juliana!