1
resposta

Interrompendo uma repetição.

Olá. Estou com uma pequena dúvida sobre meu código. Fui acompanhando o professor na confecção do código de melhoria para o Jogo de Adivinhação. Ele funciona perfeitamente, porém, quando tento acertar o número gerado e erro o chute, não aparecem as mensagens de "Você ERROU!" ao fazer cada chute, ou seja, a tela permanece branca e aparecendo um novo alerta para digitar um novo chute. Elas só aparece, todas juntas, ao final das três tentativas. Copiei o código exato do vídeo do professor, executei e dá o mesmo problema. Desde já, agradeço a ajuda.

<meta charset="UTF-8">

<script>

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

    function mostrar (texto)
    {
        document.write(texto);
        pularLinha ();
    }

        var numero=Math.round (Math.random ()*10);
//        console.log (numero); // Essa função é pra você imprimir no painel de controle para testar se está tudo certo. Vai imprimir o número aleatório que foi pensado.

        var tentativas=1;
            while (tentativas<=3)
            {
                var chute=parseInt (prompt ("Digite um número e tente adivinhar qual estou pensando..."));

                    if (chute==numero)
                    {
                        mostrar ("Parabéns, você acertou! Era "+numero+" mesmo.");
                        break;
                    }

                    else 
                    {
                        mostrar ("Você errou!");
                    }
                tentativas++;
            }

            mostrar ("FIM.");
</script>
1 resposta

Olá, Carolina. Tudo bem?

Peço perdão pela demora em dar um retorno.

O texto de erro não é exibido porque você chama uma função que escreve o texto na tela e não um aviso (alert). Assim, o texto só será exibido quando o laçowhile acabar.

Uma solução para o problema que você está tendo é substituir o mostrar ("Você errou!") por um alert. O alert exibirá uma mensagem mesmo dentro do laço while. O código ficará assim:

<meta charset="UTF-8">

<script>

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

    function mostrar (texto)
    {
        document.write(texto);
        pularLinha ();
    }

    var numero=Math.round (Math.random ()*10);
    console.log(numero);
//        console.log (numero); // Essa função é pra você imprimir no painel de controle para testar se está tudo certo. Vai imprimir o número aleatório que foi pensado.

    var tentativas=1;
    while (tentativas<=3)
    {
        var chute=parseInt (prompt ("Digite um número e tente adivinhar qual estou pensando..."));

            if (chute==numero)
            {
                alert("Parabéns, você acertou! Era "+numero+" mesmo.");
                break;
            }else 
            {
                alert("Você errou!");
            }
        tentativas++;
    }

    mostrar ("FIM.");
</script>

Espero que sua dúvida tenha sido solucionada.

Abraços. Bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!