Vi que outras pessoas abriram outros tópicos com o mesmo problema, mas eles foram fechados sem a resolução.
O caso é que as mensagens a serem impressas pelo document.write()
só aparecem após terminado o loop. Parece ser um problema do Chrome, pois no Firefox funciona sem problemas. Se acharem a solução para o Chrome, por favor informem.
Segue abaixo como ficou o meu código.
meta charset="UTF-8">
<script>
function pulaLinha() {
document.write("<br>");
}
function mostra(frase) {
document.write(frase);
pulaLinha();
}
function sorteia(n){
var numero = Math.round(Math.random() * 100);
if(numero >= 0 && numero <= n){
return numero;
}else{
return sorteia(n);
}
}
var numeroPensado = sorteia(parseInt(prompt("Informe ou número máximo para ser sorteado.")));
var maxTentativas = parseInt(prompt("Consegue acertar em quantas tentativas?"));
for (tentativas = 1; tentativas <= maxTentativas; tentativas ++) {
var chute = parseInt(prompt("Qual foi o número pensado?"));
if(chute == numeroPensado) {
mostra("Uau! Você acertou, pois eu pensei no " + numeroPensado);
break;
}else if(chute < numeroPensado){
mostra("Você errou! Eu tinha pensado em um número maior que " + chute);
alert("Você tem mais " + (maxTentativas - tentativas) + " tentativas");
}else if(chute > numeroPensado){
mostra("Você errou! Eu tinha pensado em um número menor que " + chute);
alert("Você tem mais " + (maxTentativas - tentativas) + " tentativas");
}
}
</script>