1
resposta

[Projeto] Desafio final do curso.

Ao invés de colocar um valor máximo fixo, decidi dar ao jogador essa escolha do número final (ex: se ele quer escolher um número entre 1 e 1000, sendo 1000 o valor que ele escolheu para ser o final).

Ficou assim o código inteiro:

alert('Boas vindas ao jogo do número secreto');
let numeroMaximo = prompt('Você quer jogar com um número entre 1 e...?')
let numeroSecreto = parseInt(Math.random() * numeroMaximo + 1);
console.log(numeroSecreto);
let chute;
let tentativas = 1;

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

    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}`);
        }
    }
}

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

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

Matricule-se agora e aproveite até 50% OFF

O maior desconto do ano para você evoluir com a maior escola de tecnologia

QUERO APROVEITAR
1 resposta

Oi, Ícaro! Como vai?

Ficou muito interessante a forma como você personalizou o jogo permitindo que o jogador defina o limite máximo. Essa ideia torna a experiência mais interativa e adaptável. Além disso, seu uso de Math.random() e parseInt() mostra que você compreendeu bem a lógica de geração de números aleatórios.

Uma dica interessante para o futuro é usar Number() ao invés de parseInt() quando quiser garantir que o valor digitado seja tratado como número, mesmo com casas decimais.
Veja este exemplo:


let numero = Number(prompt('Digite um número:'));
console.log(numero + 1);

Esse código converte a entrada em número e soma 1 ao valor digitado.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!