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