Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Dúvida] variável tentativas

fiz o código semelhante ao dos instrutores, até copiei para ver se estava realmente idêntico mas de forma alguma aparecem os números incorretos da variável tentativas.

este é meu código:

alert('Boas vindas ao jogo do número secreto');
let numeroSecreto = 5;
console.log(numeroSecreto)
let chute;
let tentativas = 1;

while (chute != numeroSecreto) {
    chute = prompt('Escolha um número entre 1 e 10');
    // se chute for igual ao número secreto
    if (chute == numeroSecreto) {
        alert(`Isso ai! Você descobriu o número secreto ${numeroSecreto} com ${tentativas} tentativas`);
    } else {
        if (chute > numeroSecreto) {
            alert(`O número secreto é menor que ${chute}`);
        } else {
            alert(`O número secreto é maior que ${chute}`);
        }
        tentativas ++;
    }
}

e é isso que aparece:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

aparecem vários números aleatórios e já testei várias vezes.

2 respostas

Olá boa tarde! O seu codigo aparentemente está correto, a unica coisa que poderia fazer é converter o retorno do prompt para numero ja q retorna uma string

também pode usar a comparação estrita do chute com o número secreto

alert('Boas vindas ao jogo do número secreto');
let numeroSecreto = 5;
let chute;
let tentativas = 1;

while (true) {
    //convertendo o retorno do prompt para numero
    chute = parseInt(prompt('Escolha um número entre 1 e 10'));
    
    //verificando se o que o jogador digitou foi um número valido
    if (isNaN(chute) || chute < 1 || chute > 10) {
        alert('Por favor, insira um número válido entre 1 e 10.');
        continue;
    }
    
    //comparando de forma estrita se o chute é igual ao número secreto e parando o loop caso o jogador acerte
    if (chute === numeroSecreto) {
        alert(`Isso ai! Você descobriu o número secreto ${numeroSecreto} com ${tentativas} tentativas`);
        break;
    } else {
        if (chute > numeroSecreto) {
            alert(`O número secreto é menor que ${chute}`);
        } else {
            alert(`O número secreto é maior que ${chute}`);
        }
        //incrementa o número de tentativas caso o jogador erre
        tentativas++;
    }
}
solução!

valeu! era só a conversão mesmo (parseInt) :)