1
resposta

[Projeto] Opções de codigo para Jogo do Numero Secreto com Loop.

Fala pessoal tudo bem: eu fiquei uma semana tirando minhas dúvidas e refazendo o codigo do desafio. Cheguei as seguintes conclusões:

Jogo do Número Secreto com loop manual:

alert('Boas vindas ao jogo do número secreto');

// Definimos o número secreto manualmente
let numeroSecreto = 5;
console.log('Valor do número secreto (fixo): ' + numeroSecreto);

let tentativas = 1; // Contador de tentativas, começa em 1

// Define a função que contém a lógica principal do jogo
function jogarAdivinhacao() {
    let chute = prompt('Escolha um número entre 1 e 10');
    console.log('Valor do número chute: ' + chute);

    // Condição para verificar se o chute está correto
    if (chute == numeroSecreto) {
        // Mensagem final de acerto
        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} na primeira tentativa.`);
        }
    } else {
        // Se errou, dá uma dica
        if (chute > numeroSecreto) {
            alert(`O número secreto é MENOR que ${chute}`);
        } else {
            alert(`O número secreto é MAIOR que ${chute}`);
        }
        
        // Incrementa o contador de tentativas
        tentativas++;
        
        // Chama a própria função novamente para uma nova tentativa
        jogarAdivinhacao(); 
    }
}

Jogo do Número secreto com loop ''while'':

alert('Boas vindas ao jogo do número secreto');

// Aqui definimos o número secreto manualmente
let numeroSecreto = 5; // Você pode mudar este número para testar!
console.log('Valor do número secreto (fixo): ' + numeroSecreto);

let chute;
let tentativas = 1; // Contador de tentativas, começa em 1

// Loop principal do jogo: continua enquanto o chute for diferente do número secreto usando a função while
while (chute != numeroSecreto) {
    chute = prompt('Escolha um número entre 1 e 10');
    console.log('Valor do número chute: ' + chute);

    // Condição para verificar se o chute está correto
    if (chute == numeroSecreto) {
        // Sai do loop se acertar. O alerta de acerto virá depois do loop.
        break;
    } else {
        // Se errou, dá uma dica
        if (chute > numeroSecreto) {
            alert(`O número secreto é MENOR que ${chute}`);
        } else {
            alert(`O número secreto é MAIOR que ${chute}`);
        }
        // Incrementa o contador de tentativas
        tentativas++;
    }
}

// Mensagem final de acerto, exibida após o loop
if (tentativas > 1) {
    alert(`Isso aí! Você descobriu o número secreto ${numeroSecreto} com ${tentativas} tentativas.`);
} else {
    // Caso o jogador acerte na primeira tentativa
    alert(`Isso aí! Você descobriu o número secreto ${numeroSecreto} na primeira tentativa.`);
}

Jogo do Número Secreto usando loop ''while'' e ''parseInt(Math.random() );''

alert('Boas vindas ao jogo do número secreto');

// Gera um número secreto aleatório entre 1 e 10
let numeroSecreto = parseInt(Math.random() * 10 + 1);
console.log('Valor do número secreto (apenas para depuração): ' + numeroSecreto);

let chute;
let tentativas = 1; // Contador de tentativas, começa em 1

// Loop principal do jogo: continua enquanto o chute for diferente do número secreto
while (chute != numeroSecreto) {
    chute = prompt('Escolha um número entre 1 e 10');
    console.log('Valor do número chute: ' + chute);

    // Condição para verificar se o chute está correto
    if (chute == numeroSecreto) {
        // Sai do loop se acertar. O alerta de acerto virá depois do loop.
        break;
    } else {
        // Se errou, dá uma dica
        if (chute > numeroSecreto) {
            alert(`O número secreto é MENOR que ${chute}`);
        } else {
            alert(`O número secreto é MAIOR que ${chute}`);
        }
        // Incrementa o contador de tentativas
        tentativas++;
    }
}

// Mensagem final de acerto, exibida após o loop
if (tentativas > 1) {
    alert(`Isso aí! Você descobriu o número secreto ${numeroSecreto} com ${tentativas} tentativas.`);
} else {
    // Caso o jogador acerte na primeira tentativa
    alert(`Isso aí! Você descobriu o número secreto ${numeroSecreto} na primeira tentativa.`);
}

Nota: let numeroSecreto = parseInt(Math.random() * 10 + 1); define o número secreto. Math.random() gera um decimal entre 0 e 1. Multiplicar por 10 (* 10) transforma-o em um número entre 0 e 9. Somar 1 (+ 1) o eleva para o intervalo de 1 a 10. Por fim, parseInt() remove as casas decimais, garantindo um número inteiro aleatório de 1 a 10 para o jogo.

1 resposta

Olá Arthur! Tudo certo?

Que bom ver seu progresso com o código do Jogo do Número Secreto!

Você fez um ótimo trabalho ao implementar diferentes abordagens para o jogo. O uso do console.log é realmente essencial para entender o que está acontecendo em cada parte do seu código.

Bons estudos!

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