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

Dica de mais um tratamento de dados para a aula. acredito que passou despercebido

Quando você acerta o chute, ele apresenta a mensagem e em quantas tentativas você acertou, se retornar e apagar o numero e continuar chutando o jogo continua contando as tentativas. fiz algumas alterações desabilitando o campo para forçar o jogador a clicar em novo jogo. Caso tenha alguma solução mais simples e melhor pratica para escrita de código gostaria da opinião.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta
solução!

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 ✓.