1
resposta

[Projeto] Minha solução de jogo

Fiz minha solução revelando no final o número de tentativas e uma pontuação que começa no valor máximo e vai diminuindo exponencialmente a cada tentativa (com o mínimo de zero).

Também há uma mensagem especial para quem acertar na primeira tentativa, mas eu não consegui visualizá-la sem mostrar o número secreto na tela durante os testes, hahaha...

/*
 * Faça como eu fiz: primeiro jogo com C#
 */

var random = new Random();
var secretNumber = random.Next(1, 101);
var playerScore = 10000;
var playerGuess = 0;
var playerGuessesCount = 1;

Console.WriteLine(@"
███╗░░██╗██╗░░░██╗███╗░░░███╗██████╗░███████╗██████╗░  ░██████╗░██╗░░░██╗███████╗░██████╗░██████╗
████╗░██║██║░░░██║████╗░████║██╔══██╗██╔════╝██╔══██╗  ██╔════╝░██║░░░██║██╔════╝██╔════╝██╔════╝
██╔██╗██║██║░░░██║██╔████╔██║██████╦╝█████╗░░██████╔╝  ██║░░██╗░██║░░░██║█████╗░░╚█████╗░╚█████╗░
██║╚████║██║░░░██║██║╚██╔╝██║██╔══██╗██╔══╝░░██╔══██╗  ██║░░╚██╗██║░░░██║██╔══╝░░░╚═══██╗░╚═══██╗
██║░╚███║╚██████╔╝██║░╚═╝░██║██████╦╝███████╗██║░░██║  ╚██████╔╝╚██████╔╝███████╗██████╔╝██████╔╝
╚═╝░░╚══╝░╚═════╝░╚═╝░░░░░╚═╝╚═════╝░╚══════╝╚═╝░░╚═╝  ░╚═════╝░░╚═════╝░╚══════╝╚═════╝░╚═════╝░
");

Console.Write("\nDigite um valor entre 1 a 100 para tentar encontrar o número: ");

do
{
    playerGuess = int.Parse(Console.ReadLine()!);

    if (playerGuess == secretNumber)
    {
        playerScore = playerScore < 0 ? 0 : playerScore;
        Console.WriteLine(playerGuessesCount == 1
                ? "\nWOW! Você acertou de primeira. Parabéns! \u265a" // Crown
                : "\nParabéns! Você acertou o número correto! \u2714" // Check
        );
        Console.WriteLine($"Número de tentativas: {playerGuessesCount}");
        Console.WriteLine($"Pontuação: {playerScore}");
    }
    else
    {
        Console.WriteLine(secretNumber < playerGuess
                ? $"\nO número esperado é menor do que {playerGuess} \u25bc" // Down arrow
                : $"\nO número esperado é maior do que {playerGuess} \u25b2" // Up arrow
        );

        Console.Write("Tente novamente: ");
        playerGuessesCount++;
        playerScore -= playerGuessesCount * playerGuessesCount;
    }
} while (playerGuess != secretNumber);
1 resposta

Boa tarde, Rafael! Tudo bem?

Seu código está bem estruturado e a adição da pontuação que diminui exponencialmente é uma boa maneira de aumentar a dificuldade conforme o jogo avança.

Ótimo trabalho e continue explorando novas funcionalidades e melhorias!

Se precisar de mais ajuda ou sugestões, estou à disposição.