// Member method public override void ChooseGesture(RuleTable ruleTable) { bool validInput; int numGesture; Console.Clear(); // Don't want to see previous human player choice (if there was one). do { Console.WriteLine("\n" + name + " select a gesture: "); ruleTable.DisplayGestures(); // Add selection to redisplay the game rules. Console.WriteLine(ruleTable.rules.Count + ") (**Display game rules**)"); // protect against non-number input validInput = int.TryParse(Console.ReadLine(), out numGesture); if (!validInput) { continue; } // Display game rules. if (numGesture == ruleTable.rules.Count) { Console.Clear(); ruleTable.DisplayRules(); } }while (!validInput || numGesture < 0 || numGesture > ruleTable.rules.Count - 1); gesture = ruleTable.rules[numGesture][0].winGesture; Console.WriteLine(name + " selected " + gesture); Console.WriteLine("\nPress any key to continue..."); Console.ReadLine(); }
// Member methods public void RunGame() { Console.Clear(); Console.WriteLine("Let's play \"Rock, Paper, Scissors, Lizard, Spock \""); ruleTable.DisplayRules(); ChooseAndInitializePlayers(); SetWinCondition(); Console.WriteLine("\nPress <Enter> to begin!"); Console.ReadLine(); numRounds = 0; numTies = 0; while (player1.score < winsForVictory && player2.score < winsForVictory) { numRounds++; player1.ChooseGesture(ruleTable); player2.ChooseGesture(ruleTable); DisplayAndSetRoundResult(); } DisplayGameOutcome(); }