public void ReactToPlayerMove(Board i_Board, int i_Row, int i_Col) { if (GameLogic.IsGameEnded(i_Board, (byte)i_Row, (byte)i_Col)) { if (GameLogic.IsThereAWinner(i_Board, (byte)i_Row, (byte)i_Col)) { if (m_PlayerTurn == ePlayerTurn.Player1) { m_Player1.Score++; throw new GameEndedException(m_Player1); } else { m_Player2.Score++; throw new GameEndedException(m_Player2); } } else { // Tie throw new GameEndedException(null); } } else { // Game did not end. switch turns. m_PlayerTurn = (m_PlayerTurn == ePlayerTurn.Player1) ? ePlayerTurn.Player2 : ePlayerTurn.Player1; } }
public GameManager(Player i_Player1, Player i_Player2) { m_Player1 = i_Player1; m_Player1.Sign = eCellValues.X; m_Player1.Score = 0; m_Player2 = i_Player2; m_Player2.Sign = eCellValues.O; m_Player2.Score = 0; m_PlayerTurn = ePlayerTurn.Player1; }
public PlayerTurn(ePlayerTurn i_Turn) { m_Turn = i_Turn; }