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

problema com o mostra

meu programa só mostra as respostas no final , todas de uma vez .Se trocar para alert , funciona corretamente .

<script>

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

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

var numeroPensado = Math.round(Math.random() * 10);
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++;
}


    </script>
2 respostas
solução!

Olá! Experimente trocar por alert. É uma limitação do document.write dentro de um loop. Você só verá a saída no final.

Sucesso e bom estudo minha aluna!

Salve, galera.

Aproveitando a dúvida da colega, como posso modificar o meu código para que o feedback do chute seja registrado na tela (e não apenas no alert)?

A dica do mestre serviu, sei se errei ou acertei após a tentativa, mas não houve registro disso no final.

Desde já peço perdão se o código está confuso.

Abraços!

<meta charset="utf-8">

<script>

    function mostra(frase) {

        document.write("<big>" + frase + "</big>");
        document.write("<br>");
        document.write("<br>");
        document.write("<hr>");
    }


    function sorteio(n) {

        return Math.round(Math.random() * n);

    }

    var resposta = sorteio(20);

    for(var tentativa = 1; tentativa <= 3 ;tentativa++ ) {

        var chute = parseInt(prompt("Qual é o número que estou pensado?"));

        if(chute == resposta) {

            alert("Você acertou!");
            break;

        } else {

            if(chute < resposta) { 

                alert("Você errou! Sua tentativa foi menor que a resposta!")

            } else 

                alert("Você errou! Sua tentativa foi maior que a resposta!")

        }



    }

</script>