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

[Dúvida] [Bug] Ao inserir parseInt (Math.random() * 100 + 1) não funciona. apresenta valor NULL

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

// enquanto chute não for igual do n.s
while(chute != numeroSecreto) {
    chute = prompt('Escolha um número entre 1 e 100');
    // 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 é menor que ${chute}`);
    }
    tentativas++;
    }
}

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

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

1 resposta
solução!

Oii, boa tarde. Há um pequeno problema com seu código.

O código está comparando uma string (o retorno de prompt()) com um número inteiro (o número secreto gerado). O prompt() retorna uma string, e a comparação == pode não funcionar conforme o esperado quando comparando tipos diferentes.

Para corrigir isso, você pode converter o valor retornado pelo prompt() para um número inteiro usando parseInt(), da mesma forma que fez para o número secreto.

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

// enquanto chute não for igual do n.s
while(chute != numeroSecreto) {
    chute = parseInt(prompt('Escolha um número entre 1 e 100'));
    // 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++;
    }
}

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

Vê se dá certo, qualquer coisa estou à disposição.