private static bool validatePlayerType(string i_TypeNum) { bool validOponnent = i_TypeNum == "1" || i_TypeNum == "2"; if (!validOponnent) { MessageDisplayer.DisplayMessage(MessageDisplayer.InvalidOpponent); } return(validOponnent); }
private static bool validateYesNo(string i_Decision) { i_Decision = i_Decision.ToLower(); bool validChoice = i_Decision.Equals("yes") || i_Decision.Equals("no"); if (!validChoice) { MessageDisplayer.DisplayMessage(MessageDisplayer.InvalidPlayAnotherGame); } return(validChoice); }
private bool getPlayerHalfMove(Player i_Player, Board i_Board, ref GameCell io_SelectedCell) { MessageDisplayer.DisplayMessage(i_Player.Name + MessageDisplayer.Turn); if (i_Player.Type == ePlayerType.Human) { MessageDisplayer.DisplayMessage(MessageDisplayer.EnterMove); } io_SelectedCell = i_Player.PlayerMove(i_Board); bool wantsToPlay = io_SelectedCell != null; return(wantsToPlay); }
internal void RunGames() { MessageDisplayer.DisplayMessage(MessageDisplayer.Welcome); Player firstPlayer = MainMenu.getHumanPlayer(); Player secondPlayer = MainMenu.getSecondPlayer(); bool playAnotherGame; do { resetGame(firstPlayer, secondPlayer); Board board = MainMenu.getBoard(); playAnotherGame = runSingleGame(firstPlayer, secondPlayer, board); }while(playAnotherGame); }
private static bool validatePlayerName(string i_PlayerName) { bool validName = true; if (i_PlayerName.Length > 20) { MessageDisplayer.DisplayMessage(MessageDisplayer.NameTooLarge); validName = false; } if (i_PlayerName.Contains(" ")) { MessageDisplayer.DisplayMessage(MessageDisplayer.NameContainsSpaces); validName = false; } return(validName); }
internal static Player getHumanPlayer() { string playerName; const bool v_InvalidName = true; //// Get Player #1 name from user while (v_InvalidName) { MessageDisplayer.DisplayMessage(MessageDisplayer.EnterPlayer); playerName = Console.ReadLine(); if (validatePlayerName(playerName)) { break; } } return(new Player(playerName, ePlayerType.Human)); }
private bool stillWantToPlay() { bool anotherGame; const bool v_NotYetAnswered = true; MessageDisplayer.DisplayMessage(MessageDisplayer.PlayAnotherGame); while (v_NotYetAnswered) { // Get player's decision string yesOrNoInput = Console.ReadLine().ToLower(); if (validateYesNo(yesOrNoInput)) { anotherGame = yesOrNoInput.Equals("yes"); break; } } return(anotherGame); }
private static bool validateBoard(int i_boardWidth, int i_boardHeight) { bool validBoardWidth = i_boardWidth >= 4 && i_boardWidth <= 6; bool validBoardHeight = i_boardHeight >= 4 && i_boardHeight <= 6; bool validBoardSize = (i_boardHeight * i_boardWidth) % 2 == 0; if (!validBoardWidth) { MessageDisplayer.DisplayMessage(MessageDisplayer.InvalidWidth); } if (!validBoardHeight) { MessageDisplayer.DisplayMessage(MessageDisplayer.InvalidHeight); } if (!validBoardSize) { MessageDisplayer.DisplayMessage(MessageDisplayer.InvalidSize); } return(validBoardWidth && validBoardHeight && validBoardSize); }
internal static Player getSecondPlayer() { Player secondPlayer = null; const bool v_InvalidType = true; string playerTypeString; //// Get input type from user: 1.Human / 2.Computer while (v_InvalidType) { MessageDisplayer.DisplayMessage(MessageDisplayer.ChooseOpponentType); playerTypeString = Console.ReadLine(); if (validatePlayerType(playerTypeString)) { break; } } //// Convert input to ePlayerType int playerTypeNum; int.TryParse(playerTypeString, out playerTypeNum); ePlayerType playerType = (ePlayerType)playerTypeNum; // Create and return Player #2 switch (playerType) { case ePlayerType.Computer: secondPlayer = new Player("COMPUTER", ePlayerType.Computer); break; case ePlayerType.Human: secondPlayer = getHumanPlayer(); break; } return(secondPlayer); }