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!