public void PlayGame(EncryptWord e, string[] testArray, int size) { string encryptedWord = e.Encrypt(testArray, ref indexArr); // Asks user to guess the number Console.WriteLine("What number was this word shifted by?"); Console.WriteLine(encryptedWord); int number = GetUserGuess(); bool isRightGuess = e.Guess(number); // checks if number is right guess while (!isRightGuess) { if (number > size) { Console.WriteLine("Enter a number between 1 and 5."); } else if (number < size) { Console.WriteLine("You guessed: " + number); Console.WriteLine("Nope, try again!"); } number = GetUserGuess(); isRightGuess = e.Guess(number); } // when guess is correct Console.WriteLine("You guessed: " + number); Console.WriteLine("THAT'S CORRECT!!"); Console.WriteLine("Decrypted word: " + e.Decrypt()); Console.WriteLine(); Console.WriteLine(e.PrintStats(numberOfGames)); // print user stats to console // stops game if end of array const int GAME_OVER = 7; if (numberOfGames == GAME_OVER) { // reset variables for 2nd EW object numberOfGames = 1; indexArr = 0; Console.WriteLine("All out of games!"); return; } Console.WriteLine("Play again? Type 'y' for yes, 'n' for no."); string replayAnswer = Console.ReadLine(); while (replayAnswer != "y" && replayAnswer != "n") { if (replayAnswer.Length > 1) { Console.WriteLine("Enter only 1 character: 'y' for yes or 'n' no."); } else { Console.WriteLine("Enter 'y' for yes, or 'n' for no."); } replayAnswer = Console.ReadLine(); } Console.WriteLine(); // formatting if (replayAnswer == "y") { numberOfGames++; // next game begins e.reset(); // resets most EncryptWord class variables while (Console.KeyAvailable) { Console.ReadKey(true); } //// reset cin //cin.clear(); //cin.ignore(std::numeric_limits < std::streamsize >::max(), '\n'); PlayGame(e, testArray, size); } }