Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Gostaria de saber se o código está legal ou eu poderia fazer alguma mudança.

  <script>

        function pulaLinha() {

            document.write("<br><br>");

        }

        function mostra(frase) {

            document.write(frase);
            pulaLinha();
        }
        function sorteia(n){
            var sorteio = parseInt(Math.round(Math.random()*n));
            console.log(sorteio);
            return(sorteio)
        }

    var numeroPensado = sorteia(parseInt(window.prompt("Digite um valor")));

    window.alert("Escolhi um número, será que você consegue adivinhar?");

    var tentativas = 1;

while(tentativas <= 3){

    var chute = parseInt(window.prompt("Pense, qual número é o correto? "));

    if(chute==numeroPensado){
        mostra("Nossa, você é inteligente");
        break;
    }else{

        mostra("Hmm, acho que você ainda não consegue")
        mostra("O valor real é: " + numeroPensado);

        if(chute>numeroPensado){
            mostra("Chutou alto demais, amigo. Um pouco menos na próxima");
        }else{
            mostra("Chutou muito baixo, talvez na próxima");
        }

    }

    tentativas++;

}

mostra("FIM");










    </script>
1 resposta
solução!

Bruno,

por uma definição atual do chrome, seu código executa todas as instruções 'alert' primeiro (pede as 3 tentativas em seguida), e só mostra (todas) as mensagens na tela depois no final. O código do professor também tem este problema.

Já no firefox, a cada tentativa, mostra uma mensagem. Só que se errar na primeira, ele fala qual foi o número pensado, o que me permite dar o segundo chute já sabendo o resultado.

Então creio que a lógica deva ser repensada.