2
respostas

[Sugestão] VÁ ALÉM!!!

Uma recomendação que eu faço para quem estiver lendo isso é que faça além do que é proposto nos desafios.

Como o desafio diz para ser dinâmico, fiz com que o usuário digitasse 2 números, um para cada variável que criei (inicio e fim).

Essas variáveis fazem um calculo com o numeroSecreto (${numeroSecreto - inicio} e ${fim + numeroSecreto}) para definir um intervalo aleátorio e deixar uma boa margem de números para não facilitar a vida do usuário.

Esse calculo serve para o intervalo não deixar o numeroSecreto de fora. Já pensou se o numeroSecreto fosse 4, o inicio 5 e o fim 10... E a entrada de números serve para o usuário definir a dificuldade do jogo, ou seja, quanto maior a distancia entre os números escolhidos, maior a dificuldade.

Claro que existem várias outras maneiras, essa foi a que veio na minha cabeça e vocês podem tentar fazer ou criar outra lógica. Não deixei o código intencionalmente para vocês usarem os neurônios kkkkkk

2 respostas

Oii, tudo bem?

Boa, Victor! Durante os nossos estudos, é fundamental estimular o raciocínio indo além dos desafios propostos, isso é bastante importante para a consolidação de aprendizados :)

Parabéns pela ideia e pela dedicação, com certeza o seu jogo ficou super divertido.

Continue se aventurando na programação e colocando em prática os conhecimentos adquiridos. Fico à disposição para te ajudar em caso de dúvidas.

Abração.

Tive a mesma idéia, mas acho que minha lógica mudou um pouco na forma de gerar o número aleatório.

Segundo o site que haviam passado, mostra como fazer o random entre dois valores, utilizando os números limites. Me pareceu meio redundante, o uso do Math.ceil e do Math.floor, mas segui conforme mostrou no site, se tiverem alguma observação sobre o uso das duas funções agradeceria. Meu código ficou o seguinte:

... let numeroMinimo = prompt('Escolha o menor número do intervalo'); let numeroMaximo = prompt('Escolha o maior número do intervalo'); let min = Math.ceil(numeroMinimo); let max = Math.floor(numeroMaximo); let numeroSecreto = Math.floor(Math.random() * (max - min + 1)) + min;

//enquanto chute nao for igual ao numeroSecreto while (chute != numeroSecreto) { chute = prompt(Escolha um número entre ${min} e ${max});

while (chute < min || chute > max) {
    chute = prompt(`Chute inválido! Escolha um número entre ${min} e ${max}`);
}

tentativas++;

...

Adicionei um segundo while para evitar que números fora do intervalo fossem validados como chutes.