Eu inclui o número na lista e criei o if-else onde se(if) o número já estiver na lista ele retorna gerando um novo número e se ele não estiver(else) na lista ele adiciona o número na lista e retorna esse número. O problema é que está sempre repetindo o mesmo número quando clico no botão de novo jogo até recarregar a página e gerar outro número que quando clico em Novo Jogo depois de reiniciar a página acontece o mesmo de repetir o número.
Código JavaScript abaixo:
let listaDeNumerosSorteados = [];
let numeroAleatorio = gerarNumeroAleatorio();
let tentativas = 1;
function exibirTextoNaTela(tag, texto) {
let campo = document.querySelector(tag);
campo.innerHTML = texto;
}
function mensagemInicial() {
exibirTextoNaTela('h1', 'Jogo do número secreto');
exibirTextoNaTela('p', 'Escolha um número entre 1 e 10');
}
mensagemInicial();
function verificarChute() {
let chute = document.querySelector('input').value;
if (chute == numeroAleatorio) {
exibirTextoNaTela('h1', 'Acertou!');
let palavraTentativa = tentativas > 1? 'tentativas' : 'tentativa';
let mensagemTentativas = `Você descobriu o número secreto com ${tentativas} ${palavraTentativa}!`
exibirTextoNaTela('p', mensagemTentativas);
document.getElementById('reiniciar').removeAttribute('disabled');
} else if( chute > numeroAleatorio) {
exibirTextoNaTela('p', 'O número secreto é menor');
tentativas++;
limparcampo();
} else {
exibirTextoNaTela('p', 'O número secreto é maior');
tentativas++;
limparcampo();
}
}
function gerarNumeroAleatorio() {
let numeroEscolhido = parseInt(Math.random() * 4 + 1);
if (listaDeNumerosSorteados.includes(numeroEscolhido)) {
return gerarNumeroAleatorio();
} else {
listaDeNumerosSorteados.push(numeroEscolhido)
console.log(listaDeNumerosSorteados);
return numeroEscolhido;
}
}
function limparcampo() {
chute = document.querySelector('input');
chute.value = '';
}
function reiniciarJogo() {
numeroAleatorio;
limparcampo();
tentativas = 1;
mensagemInicial();
document.getElementById('reiniciar').setAttribute('disabled', true);
}