7
respostas

Resposta somente no final.

Fiz igual ao do professor , mas ele só responde no final . cada vez que coloco o chute não aparece nenhuma mensagem.

7 respostas

Compartilha seu codigo para eu ver

Olá Maria, bom dia!

Uma alternativa para o seu código é substituir a função mostra (ou document.write) pela função Alert.

Espero ter ajudado e bons estudos ;)

Acontece a mesma coisa comigo

<meta charset="utf-8">
<script >
    function pulaLinha() {
        document.write("<br><br>");
    }
    function mostra(frase) {
        document.write (frase);
        pulaLinha();
    }

    function sorteia (n){
        return Math.round(Math.random() * n);
    }

    var numeroPensado = sorteia (10);


    console.log(numeroPensado);

    var tentativas = 1

    while(tentativas<=3){ 

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

    if (chute==numeroPensado){
        mostra("Acertou Miseravi!!!!!!");
        break;
    }else{
        mostra("Você errou!")
    }

    tentativas++
    }

    mostra("FIM")


</script>

O meu está com o mesmo problema. Tudo funcionando, mas só aparece no final. Eu estava tentando colocar uma espécie de dica, mas como só aprece no final, acabou não adiantando.

            while (tentativas <=3) {
                    var chute = parseInt(prompt("Já pensei. Qual você acha que é?"));
                    if(chute == numeroPensado) {
                        mostra("Uau! Você acertou, pois eu pensei no " + numeroPensado);
                        break;
                    } else {
                    if(chute > numeroPensado) {
                        mostra("Você errou. O número pensado é menor do que " + chute);
                    } else {
                        mostra("Você errou. O número pensado é maior do que " + chute);
                    }
                    }
                    tentativas++;
           }

Estou achando que essa diferença está ocorrendo devido alguma atualização feita no javascript.

Na W³Schools eles colocaram algumas observações a respeito do método:

---> Observação

    * Uma caixa de prompt é usada se você quiser que o usuário insira um valor.

    * Quando uma caixa de prompt aparece, o usuário terá que clicar em "OK" ou "Cancelar" para continuar.

    * Não abuse desse método. Impede que o usuário acesse outras partes da página até que a caixa seja fechada.

Com destaque para essa última observação. Acho que por este motivo não conseguimos ver o retorno que gostaríamos de dar entre as tentativas.

A melhor solução que eu encontrei foi substituir a função "mostra" pelo método "alert", dessa forma tenho um retorno entre as tentativas.

            while (tentativas <=3) {
                    var chute = parseInt(prompt("Já pensei. Qual você acha que é?"));
                    if(chute == numeroPensado) {
                        alert("Uau! Você acertou, pois eu pensei no " + numeroPensado);
                        break;
                    } else {
                    if(chute > numeroPensado) {
                        alert("Você errou. O número pensado é menor do que " + chute);
                    } else {
                        alert("Você errou. O número pensado é maior do que " + chute);
                    } }
                    tentativas++;
             }

            mostra("FIM");

Eu tbm estava com o mesmo problema, experimenta trocar o "mostra" por "alert". No meu funcionou direitinho:)