Oi João,
Pelo que você descreveu, parece que o problema está relacionado à lógica do seu código. A variável numeroTentivas
não está inicializada antes de ser usada, o que pode causar comportamentos inesperados. Além disso, você está usando prompt
para capturar a entrada do usuário, mas não está convertendo essa entrada para um número, o que pode levar a comparações incorretas.
Aqui está uma versão corrigida do seu código:
let numeroDePontos = 100;
let numeroTentivas = 0; // Inicializando a variável de tentativas
while (numeroTentivas < 3) { // Limite de tentativas
let entradaUsuario = parseInt(prompt("Digite sua pontuação")); // Converte a entrada para número
if (entradaUsuario === numeroDePontos) {
alert("Parabéns!");
break; // Sai do loop se o usuário acertar
} else {
alert("Tente novamente!");
numeroTentivas++;
}
if (numeroTentivas === 3) {
alert("Número Máximo de Tentativas Atingido!");
}
}
Principais alterações:
- Inicialização da variável:
numeroTentivas
agora é inicializada em 0
. - Limite de tentativas: O loop agora verifica se o número de tentativas é menor que 3.
- Conversão de entrada: A entrada do usuário é convertida para um número usando
parseInt
. - Estrutura de controle: O loop agora sai com
break
quando o usuário acerta o número.
Com essas mudanças, seu programa deve funcionar corretamente, dando feedback ao usuário até que ele acerte ou alcance o limite de tentativas.
Caso este post o tenha ajudado, por favor,
marcar como solucionado ☑️.
Bons Estudos! 🤓