Olá, Maria.
Tudo bem?
Muito obrigado por compartilhar o seu código com a gente, vou revisar e sugerir algum ajuste se necessário:
Função gerarNumeroAleatorio
:
- Sua implementação está correta ao usar recursão para garantir que o número sorteado não se repita. Isso é essencial para o funcionamento do jogo.
Função verificarChute
:
- A lógica para verificar se o chute está correto também está bem implementada. Apenas certifique-se de que o botão de reiniciar está corretamente configurado no HTML.
Função reiniciarJogo
:
- Está correta, mas lembre-se de que ao reiniciar o jogo, você deve limpar a lista de números sorteados para evitar que os números antigos interfiram no novo jogo.
Aqui está um exemplo de como o código pode ficar com essas melhorias:
let listaDeNumerosSorteados = [];
let numeroSecreto = gerarNumeroAleatorio();
let tentativas = 1;
function exibirTextoNaTela(tag, texto) {
let campo = document.querySelector(tag);
campo.innerHTML = texto;
}
function exibirMensagemInicial() {
exibirTextoNaTela('h1', 'Jogo do número secreto');
exibirTextoNaTela('p', 'Escolha um número entre 1 e 10');
}
function gerarNumeroAleatorio() {
let numeroEscolhido = parseInt(Math.random() * 10 + 1);
if (listaDeNumerosSorteados.includes(numeroEscolhido)) {
return gerarNumeroAleatorio();
} else {
listaDeNumerosSorteados.push(numeroEscolhido);
console.log(listaDeNumerosSorteados);
return numeroEscolhido;
}
}
function verificarChute() {
let chute = document.querySelector("input").value;
if (chute == numeroSecreto) {
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 > numeroSecreto) {
exibirTextoNaTela('p', 'O número secreto é menor que o chute');
} else {
exibirTextoNaTela('p', 'O número secreto é maior');
}
tentativas++;
limparCampo();
}
}
function limparCampo() {
let chute = document.querySelector('input');
chute.value = '';
}
function reiniciarJogo() {
listaDeNumerosSorteados = [];
numeroSecreto = gerarNumeroAleatorio();
limparCampo();
tentativas = 1;
exibirMensagemInicial();
document.getElementById('reiniciar').setAttribute('disabled', true);
}
exibirMensagemInicial();
Certifique-se de que o botão de reiniciar no seu HTML tem o ID 'reiniciar' e está desabilitado inicialmente:
<button id="reiniciar" disabled onclick="reiniciarJogo()">Reiniciar</button>
No geral você fez um ótimo trabalho, o código está bem estruturado e funcional. Parabén! Continue assim.
Espero ter ajudado e bons estudos!