1
resposta

[Projeto] Resposta sistema de recompensas

Console.WriteLine("Digite o Codigo de recompensa ( DOBRAR, CURAR, OURO, ESPECIAL: ");
string recompensa = Console.ReadLine()!.ToUpper();

string item = recompensa;

 item = recompensa switch
{
    "DOBRAR" => "Ganhar 2x EXP por 1 hora.",
    "CURAR" => "Poção de cura.",
    "OURO" => "1000 moedas de ouro.",
    "ESPECIAL" => "Item lendario."
};
Console.WriteLine($"{item} desbloqueado!");
1 resposta

Olá, Ulysses! Como vai?

Parabéns pela resolução da atividade!

Observei que você explorou o uso do Console.ReadLine() para capturar entradas do usuário, utilizou muito bem o recurso switch expression para simplificar a lógica de escolha e ainda compreendeu a importância de transformar a entrada em maiúsculas com .ToUpper() para padronizar a comparação.

Uma dica interessante para o futuro é adicionar um caso padrão (default) no switch, garantindo que o programa trate entradas inválidas. Assim:

Console.WriteLine("Digite o Código de recompensa (DOBRAR, CURAR, OURO, ESPECIAL): ");
string recompensa = Console.ReadLine()!.ToUpper();

string item = recompensa switch
{
    "DOBRAR" => "Ganhar 2x EXP por 1 hora.",
    "CURAR" => "Poção de cura.",
    "OURO" => "1000 moedas de ouro.",
    "ESPECIAL" => "Item lendário.",
    _ => "Código inválido, tente novamente."
};

Console.WriteLine($"{item} desbloqueado!");

Isso faz com que o programa seja mais robusto e evite falhas caso o usuário digite algo fora das opções esperadas.

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

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