Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Ajuda com erro no código

Olá! Estou tentando aplicar o operador ternário, mas não está funcionando do jeito que eu gostaria. Defini a variável dica para dizer se o chute é maior ou menor que o número secreto, assim não precisaria colocar 2 alerts que só mudam uma palavra, com as condicionais. Mas qualquer número que eu digite no prompt, o alert diz que o número secreto é maior que o chute. Pode me ajudar a identificar onde está o erro?

alert ('Boas vindas ao Jogo de Adivinhação! Você terá 3 tentativas.');
let numeroSecreto = 8;
let chute;
let tentativa = 1;
let dica = chute > numeroSecreto ? 'menor' : 'maior';

while (chute != numeroSecreto && tentativa <= 3) {
    chute = prompt('Escolha um número de 1 a 10');
    if (chute == numeroSecreto || tentativa ==3) {
        break;
    } else {
        alert (`Errou... O número é ${dica} que ${chute}. Esta foi a ${tentativa}ª tentativa, tente novamente!`);
    }
    tentativa++;
}
1 resposta
solução!

Olá. Seu código está bem simples. A única alteração que você precisa fazer e na hora de implementar o valor da variável dica. Ela precisa receber valor após a inserção do valor da variavel chute, tente essa solução:

let numeroSecreto = 8;
let chute;
let tentativa = 1;
while (chute != numeroSecreto && tentativa <= 3) {
    chute = prompt('Escolha um número de 1 a 10');
    

    //coloque o valor da variavel dica após inserir o valor da variavel chute pelo prompt
    
    let dica = chute > numeroSecreto ? 'menor' : 'maior';
    if (chute == numeroSecreto || tentativa ==3) {
        break;
    } else {
        alert (`Errou... O número é ${dica} que ${chute}. Esta foi a ${tentativa}ª tentativa, tente novamente!`);
    }
    tentativa++;
}