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);