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

[Dúvida] Como adicionar tentativas nesse código?

Fiz da seguinte forma o código tentando adicionar 3 tentativas ao usuário e assim que acabasse as tentativas o programa mostraria a palavra "Fim". Entretanto esse código não funciona. Alguém pode me ajudar?

Segue o código:

<meta charset="UTF-8">

<input type="text"></input>
<button>Compare com o meu segredo</button>

<script>
    var segredo = Math.round(Math.random() * 10);
    var input = document.querySelector("input");


    var tentativas = 1;

    while(tentativas <= 3){
        function verifica() {
            if (input.value == segredo) {
                alert("Você acertou!");
            } else {
                alert("Você errou!");
            }
    }
    tentativas++

}
    var button = document.querySelector("button");

    button.onclick = verifica;

    mostra("Fim");
</script>
2 respostas
solução!

Oii, Julia! Tudo bem com você?

Ao olhar o seu código, uma possível solução seria mover a função verifica() para fora do laço while. Esta função precisa ser definida fora do laço para que possa ser chamada quando o usuário clicar no botão. No laço while, você deve testar se o número de tentativas é menor ou igual a 3 antes de permitir que o usuário verifique sua resposta. Além disso, eu utilizei o parâmetro alert para imprimir a mensagem “FIM” de alguma forma, visto que não tinha disponível a function mostra() que foi utilizada inicialmente, contudo essa mudança é opcional, podendo utilizar o que desejar. Segue o código corrigido:

<meta charset="UTF-8">

<input type="text"></input>
<button>Compare com o meu segredo</button>

<script>
    var segredo = Math.round(Math.random() * 10);
    var input = document.querySelector("input");
    var tentativas = 0;


    function verifica() {
        if (input.value == segredo) {
            alert("Você acertou!");
        } else {
            alert("Você errou!");
            tentativas++;
            if (tentativas > 3) {
                alert("Fim");
                return;
            }
        }
        input.value = "";
        segredo = Math.round(Math.random() * 10);
    }

    var button = document.querySelector("button");
    button.onclick = verifica;
</script>

Faça as modificações, os testes e verifique se obteve êxito.

Qualquer dúvida que surgir, estarei à disposição para te ajudar.

Bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Deu certo!!!!! Muito Obrigada :)