Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Por que meu loop não funciona ? não limita tentativas, fim aparece antes do fim?

<meta charset="utf-8">

<input/>
<button>Você consegue adivinhar o meu segredo?</button>

<script>

    function pulaLinha() {
        document.write("<br>");
    }

    function mostra(frase) {
        pulaLinha();
        document.write(frase);
    }

    function sorteia() {
        return Math.round(Math.random() * 10);
    }

    var tentativas = parseInt(prompt("quantas tentativas você deseja?"));

    var segredo = sorteia();

    for(var cont = 0; cont < tentativas; cont++) {

        var input = document.querySelector("input");

        function verifica(){

            if(input.value == segredo) {
                alert("Você descobriu meu segredo");
            } else {
                alert("Você ERROU!!!!");
            }
        }

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

        button.onclick = verifica;
    }

    mostra ("FIM!!!");

</script>
1 resposta
solução!

Olá Wagner, tudo bem?

Na verdade são mais de um erro. A função verifica() e o button.onClick não podem estar dentro do loop. Apenas com o IF você consegue resolver o seu problema, mais ou menos deste jeito:

        var input = document.querySelector("input");
        contador = 0;
        function verifica(){

            if(input.value == segredo && contador < tentativas) {
                alert("Você descobriu meu segredo");
                mostra ("FIM!!!");
            } else if (input.value != segredo && contador < tentativas) {
                alert("Você ERROU!!!!"); 
            }else {
              mostra("Você não tem mais tentativas");
            }
            contador++;
        }

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

        button.onclick = verifica;

Tem espaço para esse código melhorar, mas isso eu deixo pra você, rsrs

Deu pra entender? Espero que sim.

Bons estudos!