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

Olá! meu jogo roda, mas não aparece se "acertou ou errou" durante a partida, e se eu erro ele não mostra o resultado.

2 respostas
solução!

Oi Cristiano, tudo bem?

O que acontece é o seguinte: quando temos um prompt dentro de um laço de repetição, ele executará todos os prompts antes de escrever algo na tela. Portanto, se errarmos as 3 vezes, quando terminar de aparecer todos os prompts é quando ele mostra na tela: "Você errou!" (3 vezes) e o "Fim de jogo!".

O resultado correto só é mostrado caso o usuário acerte o número, mas não há nenhuma condição no seu código para mostrar o resultado caso ele erre todas as vezes.

Uma maneira de arrumar isso é criando um alert para quando o usuário errar, assim aparecerá logo depois do prompt. Além disso, podemos mostrar o resultado do sorteio junto com a mensagem "Fim de jogo", pois independente se o usuário acertar o número ou errar todas, é interessante colocar qual número sorteado. Veja o código abaixo:

while (tentativas <= 3) {

        var chute = parseInt(prompt("Digite seu chute!"));

        if (chute == numeroSorteado) {

            mostra("Você ACERTOU! Parabéns!!");
            break;
        } else {
            alert('Você errou!!');
        }
        tentativas++;
    }

    mostra("Fim do Jogo. O número sorteado é " + numeroSorteado);

Dessa maneira, o usuário sabe quando ele errou (pois aparece um alerta), e ele também sabe qual foi o resultado sorteado.

Espero ter ajudado, bons estudos =)

Olá Giovanna, tudo bem? Espero que sim!!

Muito obrigado pela ajuda, esclareceu bastante, fiz e deu certo.

Até mais e bons estudos!!