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: baixando e modificando um projeto

https://github.com/lucasgrun19/alura-x-oracle-project
Alterei as variáveis de 10 para 100.
Dificultei o jogo e coloquei o limitei máximo maior 1 a 100.

1 resposta

Fala, Lucas! Tudo bom?

Agradeço por trazer seu projeto para o fórum!

Curti demais como explorou o Math.random para gerar números aleatórios com JavaScript, compreendeu perfeitamente a importância da condição para dar dicas ao jogador e utilizou bem o array para evitar repetição de números sorteados.

Algo bem legal para complementar é validar o chute do usuário antes de comparar com o número secreto. Dessa maneira:

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

    if (isNaN(chute) || chute < 1 || chute > numeroLimite) {
        exibirTextoNaTela('p', `Digite um número válido 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 entradas inválidas sejam tratadas e o jogo fique mais robusto.

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

  • Separação de lógica: manter funções pequenas e específicas.
  • Feedback claro: mensagens que orientem o jogador de forma objetiva.
  • Reutilização: centralizar cálculos e validações em funções reaproveitáveis.

Continue postando as suas soluções! Além de ganhar pontos de XP na plataforma, você pode ajudar outros estudantes no fórum.

Alguns materiais podem estar em inglês, mas é possível compreendê-los usando o recurso de tradução de páginas do próprio navegador.

Ah, uma pergunta: você prefere deixar o jogo com dicas de "maior" ou "menor"? Ou tornar o desafio mais difícil sem dar nenhuma pista?

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!