Sabem dizer se existe algo que precisa ser feito para que o jogo acabe quando o jogador clicar em Cancelar a cada tentativa?
Sabem dizer se existe algo que precisa ser feito para que o jogo acabe quando o jogador clicar em Cancelar a cada tentativa?
Oi, Victor! Tudo bem?
O jogo não termina quando o jogador clica em "Cancelar" porque o método prompt
retorna null
quando o botão "Cancelar" é pressionado. Dessa forma, para conseguirmos terminar o jogo clicando nesse botão podemos adicionar uma verificação para null
no código, como no exemplo abaixo:
let numeroMaximo = 5000;
let numeroSecreto = parseInt(Math.random() * numeroMaximo + 1);
let chute;
while (true) {
chute = prompt(`Escolha um número entre 1 a ${numeroMaximo}`);
if (chute === null) {
alert("Jogo encerrado pelo jogador.");
break;
}
chute = parseInt(chute);
if (chute === numeroSecreto) {
alert("Parabéns! Você acertou!");
break;
} else if (chute > numeroSecreto) {
alert("O número secreto é menor!");
} else {
alert("O número secreto é maior!");
}
}
Neste código, a verificação if (chute === null)
é usada para detectar quando o jogador clica em "Cancelar". Se isso acontecer, uma mensagem de alerta é exibida e o loop while
é interrompido com break
, encerrando o jogo.
Espero ter ajudado!
Um forte abraço e bons estudos!
obrigado pela explicação!