1
resposta

Número de tentativas às vezes aparece 123123

Pessoal, conforme código que segue abaixo, às vezes, quando rodo o jogo, mesmo tendo feito apenas 3, 4 tentativa, ele aparece que eu fiz 1231254213 tentativas, um valor irreal. Eu não consegui identificar o que posso ter feito de errado no código, já que aparentemente está idêntico ao do curso.

Alguém teve algum problema parecido?

alert ('Boas-vindas ao jogo do número secreto');
let numeroMaximo = 1000;
let numeroSecreto = parseInt ( Math.random() * numeroMaximo + 1);
console.log(numeroSecreto);
let chute;
let tentativas = 1;

// enquanto o chute não for igual ao numeroSecreto
while (chute != numeroSecreto) {
   chute = prompt(`Escolha um número entre 1 e ${numeroMaximo}`)
   // se o chute for igual ao número secreto
    if (chute == numeroSecreto) {
        break;
    } else {
        if (chute > numeroSecreto) {
            alert(`O número secreto é menor que ${chute}`);
        } else {
          alert(`O número secreto é maior que ${chute}`);
        }
        // tentativas = tentativas +1;
        tentativas++;
    }
}

let palavraTentativa = tentativas > 1 ? 'tentativas' : 'tentativa'
alert(`Isso aí! Você descobriu o número secreto ${numeroSecreto} com ${tentativas} ${palavraTentativa}`);

//if (tentativas > 1) {
//    alert(`Isso aí! Você descobriu o número secreto ${numeroSecreto} com ${tentativas} tentativas`);
//} else {
//    alert(`Isso aí! Você descobriu o número secreto ${numeroSecreto} com ${tentativas} tentativa`);
//}
1 resposta

Oi!

Pelo código que você compartilhou, parece que o problema está na linha onde você atualiza o número de tentativas. Você está incrementando a variável tentativas a cada vez que o jogador faz um chute, mas parece que essa linha está comentada:

// tentativas = tentativas +1;

Descomente essa linha para que o número de tentativas seja atualizado corretamente. Assim, o código ficará assim:

tentativas = tentativas + 1;

Dessa forma, o contador de tentativas será incrementado a cada chute do jogador e você deverá obter o resultado correto.