2
respostas

quando eu vou rodar esse programa , o resultado das tres tentaivas aparecem de uma vez , e eu gostaria que aparecesse de 1 em 1, não sei onde estou errando ...

<meta charset="UTF-8">

<script>

    function pulaLinha() {

        document.write("<br>");
        document.write("<br>");
}

    function mostra(frase) {

        document.write(frase);
        pulaLinha();
}

var numeroPensado = 5
var tentativas = 1;

while(tentativas <= 3) {

    var chute = parseInt(prompt("Digite seu chute!"));

    if(chute == numeroPensado) {

        mostra("Você acertou!");
        break;
    } 

    else {

        mostra("Você errou!");
    }

    tentativas++;
}
mostra ("FIM");

</script>
2 respostas

Opa, tudo bom Isnard?

Cara, na verdade essa é uma peculiaridade da forma com que o Browser se utiliza do gerenciamento de memória.

Veja bem, a partir do momento em que o Script é executado, o navegador entra num modo diferente, isso acaba impedindo a visualização para que não precise ser renderizado múltiplas vezes.

Abaixo segue um código que eu estruturei (bem simples), para que você veja outra forma de fazer isso.

<meta charset="UTF-8">

<input type="text" id="valor">
<button id="botao" onclick="BotaoClick()"> Testar </button><br />
<div id="output"></div>

<script>
    var numeroPensado = 5
    var tentativas = 0;
    var limite = parseInt(prompt("Informe o limite de tentativas"));
    var chute = 0;
    var resultados = document.querySelector("#output");
    var inputBox = document.querySelector("#valor");   

    function BotaoClick(){               
        tentativas++;
        if (inputBox.value == numeroPensado){
            resultados.textContent = '';
            resultados.innerHTML += "você acertou! " + "( " + inputBox.value + " )" + "<br />" 
        }
        else{
            resultados.innerHTML += "você errou!" + "<br />"        
            inputBox.value='';
        }
        if (tentativas == limite){
            resultados.innerHTML = "Game Over, você excedeu o limite de tentativas!";
        }
    }
</script>

Opa, tudo bom Isnard? Se a resposta lhe ajudou, marque-a como solucionada, podem haver mais pessoas com esta duvida.

Atenciosamente, Mateus