82 lines
1.7 KiB
C#
82 lines
1.7 KiB
C#
Console.Title = "Dan's First Guessing Game";
|
|
Console.Clear();
|
|
|
|
// User Entered Data
|
|
int maxGuesses;
|
|
int lowestNumber;
|
|
int highestNumber;
|
|
int theGuess;
|
|
bool highLow;
|
|
|
|
// Internal Data
|
|
int guessNumber=1;
|
|
int randomNumber=0;
|
|
var rand = new Random();
|
|
|
|
Console.Write("How many guesses would you like: ");
|
|
maxGuesses = Convert.ToInt32(Console.ReadLine());
|
|
Console.Write("What's the lowest number: ");
|
|
lowestNumber = Convert.ToInt32(Console.ReadLine());
|
|
Console.Write("What's the highest number: ");
|
|
highestNumber = Convert.ToInt32(Console.ReadLine());
|
|
|
|
choose:
|
|
Console.Write("Do you want hints (Y\\N): ");
|
|
var highLowInput = Console.ReadKey();
|
|
switch (highLowInput.Key)
|
|
{
|
|
case ConsoleKey.Y: highLow = true; break;
|
|
case ConsoleKey.N: highLow = false; break;
|
|
default: Console.WriteLine("Not a choice"); goto choose;
|
|
}
|
|
|
|
randomNumber = rand.Next(lowestNumber, highestNumber);
|
|
|
|
Console.Clear();
|
|
|
|
while (true)
|
|
{
|
|
if (guessNumber <= maxGuesses)
|
|
{
|
|
Console.Write($"Enter guesss #{guessNumber}: ");
|
|
theGuess = Convert.ToInt32(Console.ReadLine());
|
|
|
|
if (theGuess != randomNumber)
|
|
{
|
|
Console.WriteLine("That was incorrect");
|
|
if (highLow)
|
|
{
|
|
if (theGuess > randomNumber)
|
|
{
|
|
Console.WriteLine("Guess was too high");
|
|
}
|
|
else
|
|
{
|
|
Console.WriteLine("Guess was too low");
|
|
}
|
|
}
|
|
guessNumber++;
|
|
}
|
|
else
|
|
{
|
|
Console.WriteLine("You win!");
|
|
Console.WriteLine($"You guessed the answer in {guessNumber} guesses!");
|
|
Console.WriteLine("Press any key to exit");
|
|
Console.ReadKey(true);
|
|
break;
|
|
}
|
|
|
|
}
|
|
else
|
|
{
|
|
Console.WriteLine("You Lose!");
|
|
Console.WriteLine($"The number was: {randomNumber}");
|
|
|
|
Console.WriteLine("Press any key to exit");
|
|
Console.ReadKey(true);
|
|
break;
|
|
}
|
|
|
|
}
|
|
|