Olá, Eduardo! TUdo bem?
Entendi o que você fez para desabilitar o campo de entrada quando o jogador acerta o número. Isso força o jogador a clicar em "Novo Jogo" para continuar, o que é uma boa ideia para evitar que as tentativas continuem sendo contadas indevidamente.
Para simplificar o código, você pode criar uma função separada para gerenciar o estado do campo de entrada e do botão "Novo Jogo". Isso pode ajudar a manter o código mais organizado e fácil de entender. Veja um exemplo:
function atualizarEstadoJogo(estado) {
const input = document.querySelector('input');
const botaoReiniciar = document.getElementById('reiniciar');
if (estado === 'desabilitar') {
input.readOnly = true;
botaoReiniciar.removeAttribute('disabled');
} else if (estado === 'habilitar') {
input.readOnly = false;
botaoReiniciar.setAttribute('disabled', true);
}
}
function verificarChute() {
let chute = document.querySelector('input').value;
if (chute == numeroSecreto) {
exibirTextoNaTela('h1', 'Acertou!');
let palavrasTentativas = tentativas > 1 ? 'tentativas' : 'tentativa';
let mensagemTentativas = `Você acertou com ${tentativas} ${palavrasTentativas}`;
exibirTextoNaTela('p', mensagemTentativas);
atualizarEstadoJogo('desabilitar');
} else {
// Lógica para quando o chute está errado
tentativas++;
limparCampo();
}
}
function novoJogo() {
numeroSecreto = gerarNumeroAleatorio();
limparCampo();
tentativas = 1;
exibirMensagemInicial();
atualizarEstadoJogo('habilitar');
}
Com essa abordagem, você centraliza a lógica de habilitar e desabilitar os elementos em uma única função, o que pode facilitar a manutenção do código no futuro.
Espero ter ajudado e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.