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

Fiz de outro jeito

<meta charset="UTF-8">
<input/>
<button>Compare com o segredo</button>

<script>

    function gerarResultado (){

        for(var posicao = 0 ; posicao < segredos.length; posicao++){        

                if(imput.value == segredos[posicao]){
                      alert("Parabém, ACERTOU!!!")
                      break;
                  } else if (posicao == segredos.length){
                  alert("Você ERROU!!! ")
                  }

          }
              imput.value = "";
              imput.focus();
        }

    var segredo1 = Math.round(Math.random() * 10);
    var segredo2 = Math.round(Math.random() * 10);
    var segredo3 = Math.round(Math.random() * 10);
    var segredo4 = Math.round(Math.random() * 10);

    var segredos = [segredo1,segredo2,segredo3,segredo4];


    var imput = document.querySelector("input");
    var button = document.querySelector("button")
    button.onclick = gerarResultado;
    imput.focus();



</script>
2 respostas

Dessa forma ele só diz se errou ou não depois de fazer todas as verificações se o "posicao" é menor que o "segredos.length"

solução!

Olá, Yasmin! Tudo bem contigo?

Desculpe a demora em dar um retorno!

Fiz o teste e realmente o erro é mostrado após as verificações!!!

Somente alguns pontos:

Sobre a escrita, basta somente trocar iMput por iNput. Feito isso, o restante ficou bacana ;-)

Uma outra possibilidade é simplificar o else, para caso não acerte, gerar a mensagem de erro

            for(var posicao = 0 ; posicao < segredos.length; posicao++){        

                if(input.value == segredos[posicao]){
                    alert("Parabém, ACERTOU!!!")
                    break;
                } else {
                    alert("Você ERROU!!! ")
                }

            }

Se rodarmos, basta errar uma vez que vai gerar a mensagem de erro por quatro vezes.

Para não acontecer isso podemos inserir um outro break para interromper e continuar com o jogo

    function gerarResultado() {

            for(var posicao = 0 ; posicao < segredos.length; posicao++){        

                if(input.value == segredos[posicao]){
                    alert("Parabém, ACERTOU!!!")
                    break;
                } else {
                    alert("Você ERROU!!! ")
                    break;
                }

            }
            input.value = "";
            input.focus();
    }

Esse foi um exemplo bem simples, mas aqui no fórum temos outros mais bem elaborados.

Espero ter contribuído, Yasmin!!!

Um abraço e bons estudos!