Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Projeto] Adivinhe o Número

Segue a minha solução para o desafio

Desafio:

Neste jogo, o programa gera um número aleatório entre 1 e 100 e o usuário deve adivinhar qual é esse número. O programa utiliza o if-else e switch case para verificar se o número digitado pelo usuário é maior ou menor do que o número gerado pelo programa.

O programa também utiliza o conceito de laço de repetição do-while para permitir que o usuário faça várias tentativas até acertar o número. Quando o usuário acertar o número, o jogo acaba e o programa exibe uma mensagem indicando que o jogo acabou.

Código:

void Titulo()
{
    Console.WriteLine(@"
▄▀█ █▀▄ █ █░█ █ █▄░█ █░█ █▀▀   █▀█   █▄░█ █░█ █▀▄▀█ █▀▀ █▀█ █▀█
█▀█ █▄▀ █ ▀▄▀ █ █░▀█ █▀█ ██▄   █▄█   █░▀█ █▄█ █░▀░█ ██▄ █▀▄ █▄█"+"\n\n");
}

Titulo();
Console.WriteLine($"Escolhi um número entre 1 e 100, tente adivinhar qual é!");

Random aleatorio = new();
int num = aleatorio.Next(1,100);

//num = 42;
int tries = 1;

void Tentativas(int valor)

{
        switch (valor)
        {
            case 1: Console.WriteLine("E foi de primeira. Parabéns!!"); break;
            case < 3: Console.WriteLine($"Precisou de apenas {valor} tentativas"); break;
            case < 7: Console.WriteLine($"Foram {valor} chutes, bem jogado!"); break;
            case >= 10: Console.WriteLine($"Quantos chutes!!! {valor} no total..."); break;
        }
}

do
{
    Console.Write($"Chute {tries}: ");
    int chute = int.Parse(Console.ReadLine()!);

    if (chute == num)
    {
        Console.WriteLine($"Você acertou ! O número era {num}");
        break;   
        
    }else if (chute > num)
    {
        Console.WriteLine($"Não foi dessa vez, meu número é MENOR que {chute}!\n");
        tries++;

    }else if (chute < num)
    {
        Console.WriteLine($"Não foi dessa vez, meu número é MAIOR que {chute}!\n");
        tries++;
    }
} while (true);

Tentativas(tries);

Console.WriteLine("\n\nObrigado por jogar ;)");
1 resposta
solução!

Oi, Paulo! Como vai?

Agradeço por compartilhar seu código com a comunidade Alura.

Com base no que você explicou, ficou bem legal ver como você aplicou switch, if-else e o do-while para estruturar o jogo. A separação da função Tentativas também deixou o código mais organizado.

Uma dica interessante para o futuro é usar o método TryParse no lugar de int.Parse para evitar exceções caso o usuário digite algo que não seja número. Veja este exemplo:


Console.Write("Digite um número: ");
string entrada = Console.ReadLine();
if (int.TryParse(entrada, out int chute)) {
    Console.WriteLine("Voce digitou: " + chute);
} else {
    Console.WriteLine("Entrada invalida.");
}

Esse código evita erro de execução se o valor inserido não for numérico.

Alura

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