2
respostas

Meu projeto Final

console.log('Iniciando o sistema');
alert('Boas vindas ao jogo do número secreto!');
let numeroMaximo = 5000;
let numeroSecreto = parseInt(Math.random() * numeroMaximo + 1);
let numeroDigitado;
let tentativas = 1;

while (numeroDigitado != numeroSecreto)
{
numeroDigitado = prompt(Escolha um número entre 1 e ${numeroMaximo});
// Inicio do IF que compara se o numero digitado é o número secreto!
if (numeroDigitado == numeroSecreto)
{
break;
console.log('O número digitado está de acordo com o número secreto');
}
else
{
if( numeroSecreto > numeroDigitado)
{
alert (O número secreto é maior que ${numeroDigitado});
}
else
{
alert(O número secreto é menor que ${numeroDigitado});
}
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 );
// }

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
2 respostas

Olá, Felipe!
Seu código cumpre bem a lógica do jogo do número secreto. Mas há pequenos problemas de sintaxe e boas práticas que podem ser melhorados.
Código original com observações

console.log('Iniciando o sistema');
alert('Boas vindas ao jogo do número secreto!');

let numeroMaximo = 5000;
let numeroSecreto = parseInt(Math.random() * numeroMaximo + 1);
let numeroDigitado;
let tentativas = 1;

while (numeroDigitado != numeroSecreto) {
    numeroDigitado = prompt(Escolha um número entre 1 e ${numeroMaximo}); //  *falta crase ``*
    
    if (numeroDigitado == numeroSecreto) {
        break;
        console.log('O número digitado está de acordo com o número secreto'); //  *nunca será executado, está após o break*
    } else {
        if (numeroSecreto > numeroDigitado) {
            alert (O número secreto é maior que ${numeroDigitado}); //  *falta crase ``*
        } else {
            alert(O número secreto é menor que ${numeroDigitado}); // *falta crase ``*
        }
        tentativas++;
    }
}

let palavraTentativa = tentativas > 1 ? 'tentativas' : 'tentativa';

alert(`Isso aí! Você descobriu o número secreto ${numeroSecreto} com ${tentativas} ${palavraTentativa}.`);

Versão corrigida e melhorada

console.log('Iniciando o sistema');
alert('Boas-vindas ao jogo do número secreto!');

const numeroMaximo = 5000;
const numeroSecreto = Math.floor(Math.random() * numeroMaximo) + 1;
let numeroDigitado;
let tentativas = 1;

while (numeroDigitado != numeroSecreto) {
    numeroDigitado = Number(prompt(`Escolha um número entre 1 e ${numeroMaximo}`));

    if (numeroDigitado === numeroSecreto) {
        alert(` Isso aí! Você descobriu o número secreto ${numeroSecreto} com ${tentativas} ${tentativas > 1 ? 'tentativas' : 'tentativa'}!`);
        break;
    } 
    else if (numeroDigitado < numeroSecreto) {
        alert(`O número secreto é maior que ${numeroDigitado}.`);
    } 
    else if (numeroDigitado > numeroSecreto) {
        alert(`O número secreto é menor que ${numeroDigitado}.`);
    }

    tentativas++;
}

Melhorias explicadas:
Crases — necessárias para interpolar variáveis nas mensagens.
Math.floor() — mais claro e sem precisar de parseInt().
Number(prompt(...)) — garante conversão para número antes da comparação.
Removi o console.log após o break — código nunca seria executado.
Melhorei a clareza dos ifs e formatação geral.
Uso de const para valores que não mudam (numeroMaximo e numeroSecreto).