2
respostas

Jogo não termina ao clicar em cancelar no navegador.

Sabem dizer se existe algo que precisa ser feito para que o jogo acabe quando o jogador clicar em Cancelar a cada tentativa?

2 respostas

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!