Oi Cosme,
O seu código está quase perfeito 😎.
A lógica do jogo está implementada corretamente.
O problema é que a variável chute
é declarada sem valor inicial.
Isso faz com que o loop while
não funcione como esperado.
Para corrigir, você pode inicializar a variável chute
com um valor que seja diferente de numeroSecreto
.
Por exemplo, você pode usar let chute = null;
.
Assim, o loop while
será executado pelo menos uma vez.
Outra sugestão é usar parseInt()
para garantir que o valor digitado seja um número inteiro.
Veja como ficaria o código corrigido:
alert('Sejam bem vindo ao jogo do conhecimento');
let numeroSecreto = 8;
let chute = null;
while (parseInt(chute) !== numeroSecreto) {
chute = prompt('Digite um numero de 0 a 10');
if (parseInt(chute) === numeroSecreto) {
alert(`Isso ai! Você acertou. O número secreto é ${numeroSecreto}`);
} else {
if (parseInt(chute) > numeroSecreto) {
alert(`Chute igual a ${chute}. Chute maior que o número secreto.`);
} else {
alert(`Chute igual a ${chute}. Chute menor que o número secreto.`);
}
}
}
🤓 Para saber mais: Documentação sobre o loop while em JavaScript
Continue praticando e explorando o mundo da programação 💪.