Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

1
resposta

Faça como eu fiz: compartilhe seu projeto

1 resposta

Olá, Giovanni! Como vai?

Parabéns pela resolução da atividade!

Vi que você explorou o JavaScript para criar um jogo interativo de adivinhação, utilizou muito bem a função recursiva para gerar números aleatórios sem repetição e ainda compreendeu a importância da interação dinâmica com o usuário via DOM para atualizar mensagens na tela.

Continue postando as suas soluções, com certeza isso ajudará outros estudantes e tem grande relevância para o fórum.

Uma dica interessante para o futuro é adicionar uma validação para garantir que o chute do usuário esteja dentro do intervalo definido. Assim:

function verificarChute() {
    let chute = parseInt(document.querySelector('input').value);

    if (chute < 1 || chute > numeroLimite) {
        exibirTextoNaTela('p', `Digite um número entre 1 e ${numeroLimite}`);
        limparCampo();
        return;
    }

    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 {
        exibirTextoNaTela('p', chute > numeroSecreto ? 'O número secreto é menor' : 'O número secreto é maior');
        tentativas++;
        limparCampo();
    }
}

Isso faz com que o jogo seja mais robusto e evite entradas inválidas.

Se quiser aprofundar ainda mais, algumas boas práticas são:

  • Adicionar feedback visual: mudar cores ou destacar mensagens para maior clareza.
  • Controlar número de rodadas: limitar tentativas e mostrar mensagem de fim de jogo.
  • Separar lógica e interface: manter funções de cálculo independentes da manipulação do DOM.

Ah, uma pergunta: Você acha que seria mais interessante evoluir esse jogo para incluir um contador de rodadas com limite máximo ou prefere mantê-lo aberto até o jogador acertar o número secreto?

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!