https://github.com/giovannisbelizario-lab/numero-secreto/tree/main/GIT
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!
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:
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!