3
respostas

Exibição no navegador

Quando abro o programa de adivinha no navegador e digito um "chute errado", o programa não me informa se acertei ou não com a frase "vc errou". O prompt me pede as 3x tentativas, e depois repete 3x a mensagem de erro, conforme abaixo:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Conforme mostrado em vídeo, em todo chute errado o programa exibe no navegador a mensagem de erro. Mas o meu não tá dando certo =/ Alguém poderia me ajudar? Segue código abaixo:

<meta charset="UTF-8">

<script>

    function pulaLinha() {

        document.write("<br>");
        document.write("<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, o número pensado era " + numeroPensado);
    break;

    } else {

        mostra("Você errou, o número pensado era " + numeroPensado);
    }

    tentativas++;

}


    mostra("FIM");


</script>

Obrigada!

3 respostas

Oi Barbara

O prompt bloqueia a exibição do document.write assim ele vai exibir só ao final, para resolver isso você precisa utilizar outra função que bloqueia outras execuções também que é o alert, se você substituir o document.write por alert você terá o comportamento esperado.

Olá, acredito que o erro que esteja enfrentando seja por causa do bloco else. No mesmo bloco e na função mostra, você está colocando a variável número pensado, quando deveria ter apenas o "Você errou."

<meta charset="UTF-8">

<script>

    function pulaLinha() {

        document.write("<br>");
        document.write("<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, o número pensado era " + numeroPensado);
    break;

    } else {

        mostra("Você errou!");
    }

    tentativas++;

}


    mostra("FIM");


</script>

Oi Matheus, obrigada!!

Corrigi conforme vc explicou, mas tbm não deu certo =/

Mas obrigada mesmo assim :)))