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

atividade Interrompendo uma repetição

Na hora de adivinhar e mostrar a resposta errada, meu programa so exibe a mensagem de "Voce errou. O numero pensado foi x" depois de se esgotarem as tentativas. No video do professor, a cada tentativa a mensagem e exibida. Comparei os codigos e nao encontrei diferença, poderiam me auxiliar a encontrar o error?

<meta charset="UTF-8">

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

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

    var numeroPensado = Math.round(Math.random() * 10);
    var tentativas = 1;

    while (tentativas <=3) {
        var chute = parseInt(prompt("Faça seu chute: "));

        if (chute == numeroPensado){
            mostra ("Você acertou!");
        } else { 
            mostra ("Voce errou. O numero pensado foi: " + numeroPensado);
        } 
        tentativas++;

    } 

</script>
2 respostas
solução!

Fala Matias.

Então, no link da aula, abaixo do vídeo, tem a parte de transcrição e lá está a seguinte dica do professor:

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().

Isso significa que você precisa ajustar seu código assim:

<meta charset="UTF-8">

<script>

        function mostra(texto){
            alert(texto);
        }

    var numeroPensado = Math.round(Math.random() * 10);
    var tentativas = 1;

    while (tentativas <=3) {

        var chute = parseInt(prompt("Faça seu chute: "));

        if (chute == numeroPensado){
            mostra ("Você acertou!");

        } else { 
            mostra ("Voce errou. O numero pensado foi: " + numeroPensado);
        } 
        tentativas++;

    } 

</script>

Valeu Allan!