Oi, Bruno! Como vai?
Agradeço por compartilhar seu código com a comunidade Alura.
Você já deixou o jogo dinâmico ao usar numeroEscolhido
e interpolação no prompt
, atendendo ao desafio de mudar só um ponto.
Para alinhar totalmente ao enunciado, sugiro centralizar no limite
e derivar tudo a partir dele, convertendo o chute
para número e validando entradas:
Veja este exemplo:
// app.js (dinamico a partir de um unico valor)
const limite = 100;
const numeroSecreto = Math.floor(Math.random() * limite) + 1;
let chute = NaN;
let tentativas = 0;
while (chute !== numeroSecreto) {
const entrada = prompt(`Escolha um numero entre 1 e ${limite}`);
chute = Number(entrada);
if (Number.isNaN(chute) || chute < 1 || chute > limite) {
alert(`Por favor, digite um numero valido de 1 a ${limite}.`);
continue;
}
tentativas++;
if (chute > numeroSecreto) alert(`O numero secreto e menor que ${chute}`);
else if (chute < numeroSecreto) alert(`O numero secreto e maior que ${chute}`);
}
const palavra = tentativas > 1 ? 'tentativas' : 'tentativa';
alert(`Muito bem. Voce descobriu o numero secreto ${numeroSecreto} com ${tentativas} ${palavra}.`);
Uma dica interessante para o futuro é usar Math.floor
em vez de parseInt
para números aleatórios, pois Math.floor(Math.random()*limite)+1
garante um intervalo inteiro e inclusivo de 1
a limite
.
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!