1
resposta

Desafio: Jogo do Número Secreto

//Jogo do Número Secreto

// Este é um jogo simples onde o usuário deve adivinhar um número secreto entre 1 e 100.
Random random = new Random(); // Cria uma instância de Random para gerar números aleatórios
int numeroSecreto = random.Next(1, 101); // Número entre 1 e 100
int tentativas = 0; // Contador de tentativas
int limiteTentativas = 5; // Limite de tentativas

//Apresentação do jogo
Console.WriteLine(@"

──╔╗───────────╔╗───╔═╗─╔╗──────────────╔═══╗──────────╔╗
──║║───────────║║───║║╚╗║║──────────────║╔═╗║─────────╔╝╚╗
──║╠══╦══╦══╗╔═╝╠══╗║╔╗╚╝╠╗╔╦╗╔╦══╦═╦══╗║╚══╦══╦══╦═╦═╩╗╔╬══╗
╔╗║║╔╗║╔╗║╔╗║║╔╗║╔╗║║║╚╗║║║║║╚╝║║═╣╔╣╔╗║╚══╗║║═╣╔═╣╔╣║═╣║║╔╗║
║╚╝║╚╝║╚╝║╚╝║║╚╝║╚╝║║║─║║║╚╝║║║║║═╣║║╚╝║║╚═╝║║═╣╚═╣║║║═╣╚╣╚╝║
╚══╩══╩═╗╠══╝╚══╩══╝╚╝─╚═╩══╩╩╩╩══╩╝╚══╝╚═══╩══╩══╩╝╚══╩═╩══╝
──────╔═╝║
──────╚══╝╯");

Console.WriteLine("\nBem-vindo ao Jogo do Número Secreto!");
Console.WriteLine($"Você tem {limiteTentativas} tentativas para adivinhar o número secreto.");

// Loop principal do jogo
while (tentativas < limiteTentativas)
{
    Console.Write($"Tentativa {tentativas + 1} de {limiteTentativas}. Tente adivinhar o número secreto entre 1 e 100: ");
    string entrada = Console.ReadLine()!;
    int palpite;

    // Verifica se a entrada é um número válido
    if (!int.TryParse(entrada, out palpite))
    {
        Console.WriteLine("Por favor, digite um número válido.");
        continue;
    }

    // Verifica se o palpite está dentro do intervalo permitido
    if (palpite < 1 || palpite > 100)
    {
        Console.WriteLine("O número deve estar entre 1 e 100. Tente novamente!");
        continue;
    }

    tentativas++;

    // Verifica se o palpite é correto
    if (palpite == numeroSecreto)
    {
        Console.WriteLine(@"
███████╗  ██╗░██████╗░██████╗░█████╗░  ░█████╗░██╗██╗
██╔════╝  ██║██╔════╝██╔════╝██╔══██╗  ██╔══██╗██║██║
█████╗░░  ██║╚█████╗░╚█████╗░██║░░██║  ███████║██║██║
██╔══╝░░  ██║░╚═══██╗░╚═══██╗██║░░██║  ██╔══██║██║╚═╝
███████╗  ██║██████╔╝██████╔╝╚█████╔╝  ██║░░██║██║██╗
╚══════╝  ╚═╝╚═════╝░╚═════╝░░╚════╝░  ╚═╝░░╚═╝╚═╝╚═╝

██╗░░░██╗░█████╗░░█████╗░███████╗  ░█████╗░░█████╗░███████╗██████╗░████████╗░█████╗░██╗░░░██╗██╗
██║░░░██║██╔══██╗██╔══██╗██╔════╝  ██╔══██╗██╔══██╗██╔════╝██╔══██╗╚══██╔══╝██╔══██╗██║░░░██║██║
╚██╗░██╔╝██║░░██║██║░░╚═╝█████╗░░  ███████║██║░░╚═╝█████╗░░██████╔╝░░░██║░░░██║░░██║██║░░░██║██║
░╚████╔╝░██║░░██║██║░░██╗██╔══╝░░  ██╔══██║██║░░██╗██╔══╝░░██╔══██╗░░░██║░░░██║░░██║██║░░░██║╚═╝
░░╚██╔╝░░╚█████╔╝╚█████╔╝███████╗  ██║░░██║╚█████╔╝███████╗██║░░██║░░░██║░░░╚█████╔╝╚██████╔╝██╗
░░░╚═╝░░░░╚════╝░░╚════╝░╚══════╝  ╚═╝░░╚═╝░╚════╝░╚══════╝╚═╝░░╚═╝░░░╚═╝░░░░╚════╝░░╚═════╝░╚═╝");
        Console.WriteLine($"\nParabéns! Você adivinhou o número secreto em {tentativas} tentativas!");
        break;
    }
    else if (palpite < numeroSecreto)
    {
        Console.WriteLine("Seu palpite é muito baixo. Tente novamente!");
    }
    else
    {
        Console.WriteLine("Seu palpite é muito alto. Tente novamente!");
    }
}

// Verifica se o jogador esgotou as tentativas
if (tentativas == limiteTentativas)
{
    Console.WriteLine($"\nSuas tentativas acabaram! =/ O número secreto era {numeroSecreto}.");
    Console.WriteLine("Obrigado por jogar! ;)");
1 resposta

Oi, Diogo! Como vai?

Seu jogo do número secreto ficou muito bem estruturado, com mensagens visuais criativas e uma lógica clara para controle de tentativas e validações. A introdução com arte em ASCII também dá um toque divertido e personalizado à aplicação.

Uma dica interessante para o futuro é usar o método Environment.NewLine para tornar seu código mais legível ao lidar com quebras de linha. Veja este exemplo:


Console.WriteLine("Bem-vindo!" + Environment.NewLine + "Tente adivinhar o número.");

Isso evita várias strings com \n ou múltiplas chamadas de Console.WriteLine.

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