Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Sugestão] Dinâmico!

Gostaria de compartilhar o meu código! para o jogo ficar mais dinâmico, através do site que o Guilherme passou(developer.mozilla.org), eu descobri um comando para o jogo ficar melhor, adicionando no fim uma janela que pergunta se quer jogar de novo e da refresh(f5) ou não, fazendo com que feche a aba e não precisa usar o f5! quando finalizar o game.

alert('Bem vindo ao jogo de adivinhação');


//Variáveis
let numeroMaximo = 5000;
let chute; 
let numeroSecreto = parseInt(Math.random() * numeroMaximo + 1);
console.log(numeroSecreto);
let tentativas = 1;

//Lopping
while (chute != numeroSecreto) {
chute = prompt("Digite um número entre 1 e " + numeroMaximo);
    if (chute == numeroSecreto) {
        break; }
    if (chute > numeroSecreto) {
        alert('O Número secreto é menor');
    }
    else {
        alert('O Número secreto é maior');
    }
        tentativas++;
    }
//Números de tentativas singular e plural
let tentativastexto = tentativas > 1 ? 'tentativas' : 'tentativa';
if (chute = numeroSecreto) { 
    alert('Parabéns, você acertou o número secreto ' + numeroSecreto + ' com ' + tentativas + ' ' + tentativastexto) 
};
//janela de confirmação para jogar novamente
if (window.confirm('Deseja jogar novamente?')) {
    window.location.reload();
} else {
    window.close();
}
1 resposta
solução!

Oi Gabriel! Tudo joia?

Que bacana que você explorou o site do MDN e encontrou uma forma de tornar o jogo mais dinâmico!

Adicionar uma janela de confirmação para jogar novamente é uma ótima ideia para melhorar a experiência do usuário. Seu código está bem estruturado e a lógica para reiniciar ou fechar o jogo está clara.

No entanto, há um pequeno detalhe que você pode querer ajustar. No trecho onde você verifica se o jogador acertou o número secreto, a condição if (chute = numeroSecreto) está usando um único sinal de igual, que é um operador de atribuição, em vez de == ou ===, que são operadores de comparação. Isso pode causar um comportamento inesperado no seu código. A correção seria:

if (chute == numeroSecreto) { 
    alert('Parabéns, você acertou o número secreto ' + numeroSecreto + ' com ' + tentativas + ' ' + tentativastexto);
}

Além disso, ao usar window.close(), o navegador pode não permitir o fechamento da janela devido a restrições de segurança, especialmente se a janela não foi aberta por um script. Uma alternativa seria simplesmente exibir uma mensagem final ou redirecionar o usuário para uma página de agradecimento.

No mais, bons estudos!