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

Problema em exibir as tentativas

quando eu rodo meu código ele só exibi a mensagem de cada tentativa após finalizar todos os chutes, eu pensei que pudesse ser porque coloquei pra somar as tentativas só durante os erros, mas mesmo rodando sem esse detalhe continuo tendo problemas para que a mensagem seja exibida logo após a tentativa e não apenas ao final de todas.

<meta charset = "UTF-8">

<script>

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


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


var numeroPensado = Math.round(Math.random()*10);
console.log(numeroPensado);

var tentativa = 1;

while (tentativa <= 3){
    var chute = parseInt(prompt("Digite o seu chute!"));
    if(chute == numeroPensado){
        mostra("<h1> Parabéns, você acertou! </h1>");
        }else{
            mostra("<h1>Sinto muito, você errou!</h1>");
            mostra("<br> Tente novamente!");

    }
    mostra("Agora você tem apenas " + (3 - tentativa));
    if (chute != numeroPensado){
        tentativa++;
    }
}
alert("O numero pensado, na verdade, era " + numeroPensado);

</script>
2 respostas
solução!

Tem uma mensagem na transcrição da aula que diz:

Atenção: com atualizações, o Google Chrome agora só mostra as mensagens através de document.write() realizadas dentro de um loop, somente quando a página for carregada completamente, isto é, quando o loop termina. Neste caso, para efeito de aprendizagem, utilizem alert() no lugar de document.write().

Eu resolvi esse problema colocando na função mostra(frase) o alert no lugar do document.write:

function mostra(frase) {

        alert(frase);
        pulaLinha();
    }

Se você quiser que o programa rode exatamente como está na aula, use o Fire Fox, os demais navegadores só funcionarão trocando o comando "mostra" ou o document.write por Alert