1
resposta

[Projeto] Minha versão do jogo de advinhação

//JOGO ADVINHE O NÚMERO
//o programa vai pedir para o usuário advinhar o número até acertar
//caso erre, o programa dirá se o número digitado é maior ou menor que o número gerado

void começaJogo()
{
    Console.WriteLine("********************************************************************************");
    Console.WriteLine(@"

▒█▀▀█ ▒█░▒█ ▒█▀▀▀ ▒█▀▀▀█ ▒█▀▀▀█   ▀▀█▀▀ ▒█░▒█ ▒█▀▀▀
▒█░▄▄ ▒█░▒█ ▒█▀▀▀ ░▀▀▀▄▄ ░▀▀▀▄▄   ░▒█░░ ▒█▀▀█ ▒█▀▀▀
▒█▄▄█ ░▀▄▄▀ ▒█▄▄▄ ▒█▄▄▄█ ▒█▄▄▄█   ░▒█░░ ▒█░▒█ ▒█▄▄▄");
    Console.ForegroundColor = ConsoleColor.Blue;
    Console.WriteLine(@"
▒█▄░▒█ ▒█░▒█ ▒█▀▄▀█ ▒█▀▀█ ▒█▀▀▀ ▒█▀▀█ 
▒█▒█▒█ ▒█░▒█ ▒█▒█▒█ ▒█▀▀▄ ▒█▀▀▀ ▒█▄▄▀ 
▒█░░▀█ ░▀▄▄▀ ▒█░░▒█ ▒█▄▄█ ▒█▄▄▄ ▒█░▒█

");
    Console.ResetColor();

    string mensagem = @"
Neste jogo, o programa gera um número aleatório entre 1 e 100 
e você precisa advinhar qual é esse número.

";
    //Efeito de typewriting...
    for (int i = 0; i < mensagem.Length; i++)
    {
        Console.Write(mensagem[i]);
        Thread.Sleep(30);
    }

    Console.Write("Aperte qualquer tecla para jogar...");
    Console.ReadKey(true);

    //Preparando o sorteio...
    Console.ForegroundColor = ConsoleColor.Red;
    Console.Write("\n\n\n\tPreparando ");
    Console.ResetColor();
    Console.WriteLine("o sorteio...");
    Thread.Sleep(2000);

    //Misturando todos os números
    Console.ForegroundColor = ConsoleColor.Red;
    Console.Write("\tMisturando ");
    Console.ResetColor();
    Console.WriteLine("todos os números...");
    Thread.Sleep(2000);

    //Tirando um número aleatório...
    Console.ForegroundColor = ConsoleColor.Red;
    Console.Write("\tTirando ");
    Console.ResetColor();
    Console.WriteLine("um número aleatório...");
    Thread.Sleep(3000);

    //Um número foi sorteado!
    Console.WriteLine("\tUm número foi sorteado!\n");
    Thread.Sleep(1000);

    //Gera número aleatório
    int numero = geraNumeroAleatorio();

    //pede para o usuário advinhar o número
    advinhaNumero(numero);

    Console.WriteLine("\n\n");
}

int geraNumeroAleatorio()
{
    Random numeroAleatorio = new Random();
    int numero = numeroAleatorio.Next(1, 101);
    return numero;
}

void advinhaNumero(int numero)
{
    int numeroEscolhido = 0;
    int tentativas = 0;

    do
    {
        tentativas++;

        if (tentativas > 1)
        {
            if (numeroEscolhido > numero)
            {
                Console.Write("\nO número sorteado é ");
                Console.ForegroundColor = ConsoleColor.Blue;
                Console.WriteLine("MENOR!");
                Console.ResetColor();
            }
            else
            {
                Console.Write("\nO número sorteado é ");
                Console.ForegroundColor = ConsoleColor.Blue;
                Console.WriteLine("MAIOR!");
                Console.ResetColor();
            }
        }
        Console.Write($"[Tentativa {tentativas}] Advinhe qual foi o número sorteado: ");
        numeroEscolhido = int.Parse(Console.ReadLine());

    } while (numeroEscolhido != numero);

    mostraPlacar(tentativas);
}

void mostraPlacar(int tentativas)
{
    Console.WriteLine("\n\n********************************************************************************");
    Console.Write(@"
▒█▀▀█ ▒█▀▀▀ ▒█▀▀▀█ ▒█░▒█ ▒█░░░ ▀▀█▀▀ ░█▀▀█ ▒█▀▀▄ ▒█▀▀▀█ 
▒█▄▄▀ ▒█▀▀▀ ░▀▀▀▄▄ ▒█░▒█ ▒█░░░ ░▒█░░ ▒█▄▄█ ▒█░▒█ ▒█░░▒█ 
▒█░▒█ ▒█▄▄▄ ▒█▄▄▄█ ░▀▄▄▀ ▒█▄▄█ ░▒█░░ ▒█░▒█ ▒█▄▄▀ ▒█▄▄▄█");
    Console.ForegroundColor = ConsoleColor.Blue;
    Console.WriteLine(@"
▒█▀▀▀ ▀█▀ ▒█▄░▒█ ░█▀▀█ ▒█░░░ 
▒█▀▀▀ ▒█░ ▒█▒█▒█ ▒█▄▄█ ▒█░░░ 
▒█░░░ ▄█▄ ▒█░░▀█ ▒█░▒█ ▒█▄▄█
");
    Console.ResetColor();
    Console.WriteLine($"Tentativas: {tentativas}");

    if (tentativas < 2)
    {
        Console.WriteLine("NOTA: S");
        Console.WriteLine("\nYou slayed it!");
    }
    else if (tentativas < 4)
    {
        Console.WriteLine("NOTA: A");
        Console.WriteLine("\nYou did good.");
    }
    else if (tentativas < 6)
    {
        Console.WriteLine("NOTA: B");
        Console.WriteLine("\nNot bad.");
    }
    else if (tentativas < 8)
    {
        Console.WriteLine("NOTA: C");
        Console.WriteLine("\nToo lazy.");
    }
    else
    {
        Console.WriteLine("NOTA: D");
        Console.WriteLine("\nYou slacked off!");
    }
    Console.WriteLine("\n********************************************************************************");
}

começaJogo();
1 resposta

Olá, Douglas!

Pelo que vi no código que você compartilhou, parece que você conseguiu implementar a lógica do jogo de adivinhação corretamente. O jogo gera um número aleatório, pede ao usuário para adivinhar o número e verifica se o número digitado pelo usuário é maior ou menor do que o número gerado. Além disso, o jogo continua até que o usuário acerte o número, exatamente como o exercício pediu.

Parabéns pela implementação e bons estudos!