Oi, Luiz! Como vai?
O que está acontecendo no seu código é que o número secreto está sendo gerado apenas uma vez, no momento em que essa linha é executada:
let numeroSecreto = gerarNumeroAleatorio();
Ou seja, o valor de numeroSecreto
fica fixo. Quando você clica no botão, a função verificarChute()
apenas imprime esse mesmo número.
Se você deseja que um novo número seja gerado a cada clique, pode mover a chamada da função gerarNumeroAleatorio()
para dentro da função verificarChute()
, como você mesmo testou:
function verificarChute() {
let numeroSecreto = gerarNumeroAleatorio();
console.log(numeroSecreto);
}
Esse ajuste faz com que um novo número aleatório seja criado toda vez que a função é chamada, ou seja, sempre que o botão for clicado.
Se a sua intenção for manter o mesmo número até que o jogador acerte, o certo é manter a geração fora da função verificarChute()
como estava originalmente. A lógica então precisa comparar o chute do jogador com o numeroSecreto
, sem recriar o número a cada tentativa.
Veja um exemplo com essa abordagem:
let numeroSecreto = gerarNumeroAleatorio();
function verificarChute(chute) {
if (chute == numeroSecreto) {
console.log("Acertou!");
} else {
console.log("Tente novamente");
}
}
function gerarNumeroAleatorio() {
return parseInt(Math.random() * 10 + 1);
}
Esse exemplo mantém o mesmo número até alguém acertar. Ou seja:
- numeroSecreto é gerado uma vez.
- A cada tentativa, o valor do chute é comparado com o número secreto.
- O número não muda até você resetar ou reiniciar o jogo.
Espero ter ajudado. Conte com o apoio do Fórum na sua jornada!
Abraços e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado