public EncryptWord encryptWord; //made public to access methods public GuessingGame() { numGuesses = 0; numHighGuesses = 0; numLowGuesses = 0; guessTotal = 0; //used to calculate average of guesses encryptWord = new EncryptWord(); }
static void Main(string[] args) { Main_Ew mainInDriver = new Main_Ew(); EncryptWord ew = new EncryptWord(); mainInDriver.intro(); List <EncryptWord> encryptWord = new List <EncryptWord>(); int i = 0; bool keepPlaying = true; while (keepPlaying) { encryptWord.Add(ew); string wordToEncrypt = mainInDriver.validWord(); //Get valid word from Main Class //********testing, remove after Console.WriteLine("state: " + encryptWord[i].isOn()); Console.Write("The encrypted word is: "); Console.WriteLine(encryptWord[i].shift(wordToEncrypt)); //*******testing, remove after Console.WriteLine("state: " + encryptWord[i].isOn()); //cout << "Shift Value: " << encryptWord[i].getShiftValue() << endl; //For testing only string userResponse; Console.WriteLine("Do you you want to guess what the key value that was " + "used in the shift? (Enter \"yes\" or \"no\"): "); userResponse = Console.ReadLine(); if (userResponse == "yes" || userResponse == "Yes") { if (encryptWord[i].isOn()) { //if the state is "on" Console.WriteLine("What do you think the shift value is?"); Console.WriteLine("Hint, it's between 1-26. (input -1 to quit): "); var validGuess = Console.ReadLine(); var guessValue = int.Parse(validGuess); bool guessNotValid = true; while (guessNotValid) { if (guessValue < 0 && guessValue != -1) {//make sure the user input an integer Console.WriteLine("Invalid input. Please enter a postive integer: "); validGuess = Console.ReadLine(); guessValue = int.Parse(validGuess); } else { guessNotValid = false; } } while (!encryptWord[i].queryShift(guessValue)) { Console.WriteLine("It's wrong, please try again (input -1 to quit): "); validGuess = Console.ReadLine(); guessValue = int.Parse(validGuess); } encryptWord[i].stats(); } else { //if the state is "off" Console.WriteLine("There are no stats to report."); } } else if (userResponse == "no" || userResponse == "No") { Console.WriteLine("Okay, that's fine."); encryptWord[i].stats(); } else { Console.WriteLine("Invalid response. The program will continue without guessing."); encryptWord[i].stats(); } Console.WriteLine("Do you want to decode or reset?"); Console.WriteLine("Enter \"1\" for decode, \"2\" for reset or \"3\" to create a new encrypt word."); Console.WriteLine("Enter anything else to quit."); userResponse = Console.ReadLine(); if (userResponse == "1") { Console.WriteLine("The decode word is: " + encryptWord[i].decode()); } else if (userResponse == "2") { Console.WriteLine("Reset has been triggered."); encryptWord[i].reset(); encryptWord[i].stats();//to show that stats were also reset } else if (userResponse == "3") { Console.WriteLine("Let's start over and create a new word."); } else { keepPlaying = false; } i++; Console.WriteLine(); } }