/// <summary> /// Stats the game, gets user input and using a switch statement selects the /// apropriate menu /// </summary> public void StartGame() { Console.WriteLine(StartText); BullsAndCowsNumber secretNumber = new BullsAndCowsNumber(); this.helpUsedCount = 0; this.atemptsCount = 0; do { Console.WriteLine("Enter your guess or command: "); string inputLine = Console.ReadLine().Trim().ToLower(); switch (inputLine) { case "help": string digitsRevealed = secretNumber.RevealRandomDigit(ref this.helpUsedCount); Console.WriteLine(digitsRevealed); break; case "top": Console.WriteLine(this.scoreBoard); break; case "restart": Console.Clear(); this.StartGame(); break; case "exit": this.isGameRunning = false; Console.WriteLine("Good bye!"); break; default: this.ManageUserGuess(inputLine, secretNumber); break; } } while (this.isGameRunning); }
public void TestMaxHelpsUsed() { BullsAndCowsNumber secretNumber = new BullsAndCowsNumber(); int usedHelps = secretNumber.DigitsNumber; string expected = secretNumber.RevealRandomDigit(ref usedHelps); Assert.AreEqual(expected, "You cannot use more help.\r\nGame Over."); }
public void TestHelpDigitsOutputOnlyDigits() { BullsAndCowsNumber secretNumber = new BullsAndCowsNumber(); int usedHelps = 0; int secretDigits = secretNumber.SecretDigits; for (int index = 0; index < secretNumber.DigitsNumber - 1; index++) { secretNumber.RevealRandomDigit(ref usedHelps); } string expected = secretNumber.RevealRandomDigit(ref usedHelps); Assert.AreEqual(expected, string.Format("The numbers look like {0}", secretDigits)); }
public void TestHelpDigitsOutput() { BullsAndCowsNumber secretNumber = new BullsAndCowsNumber(); int usedHelps = 0; int firstSectetDigit = secretNumber.SecretDigits / 1000; string expected = secretNumber.RevealRandomDigit(ref usedHelps); Assert.AreEqual(expected, string.Format("The numbers look like {0}XXX", firstSectetDigit)); }