Oi Ivan, tudo bem com você?
Uma alternativa para tornar o código mais curto e evitar a repetição do alert no final é reorganizar a lógica do loop. Você pode utilizar apenas um único alert no final do loop, ao invés de colocá-lo dentro do else e novamente fora do loop. Para fazer isso, você pode criar uma variável booleana (por exemplo, acertou) que é inicializada como false e alterada para true quando o jogador acerta o número. Dessa forma, você pode utilizar essa variável para decidir qual mensagem exibir no final.
Aqui está o código com essa abordagem:
<meta charset="UTF-8">
<script>
function pulaLinha() {
document.write("<br><br>");
}
function mostra(frase) {
document.write(frase);
pulaLinha();
}
var numeroPensado = Math.round(Math.random() * 10);
var tentativas = 1;
var acertou = false;
while (tentativas <= 3) {
var chute = parseInt(prompt("Digite o número"));
if (chute == numeroPensado) {
acertou = true;
break;
} else {
alert("Você errou, tente novamente!");
}
tentativas++;
}
if (acertou) {
alert("Você acertou! O número pensado é " + numeroPensado);
} else {
alert("As tentativas acabaram, o número pensado é " + numeroPensado);
}
</script>
Essa mudança economiza algumas linhas de código e elimina a repetição do alert. O restante do código permanece praticamente o mesmo. Continue praticando e desenvolvendo suas habilidades em programação! Se tiver mais dúvidas ou precisar de ajuda, estou aqui para ajudar :)
Caso este post tenha lhe
ajudado, por favor, marcar como solucionado ✓. Bons Estudos!