Sabem dizer se existe algo que precisa ser feito para que o jogo acabe quando o jogador clicar em Cancelar a cada tentativa?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
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!