Exemple #1
0
 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;
     }
 }
Exemple #2
0
 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;
 }
Exemple #3
0
 public PlayerTurn(ePlayerTurn i_Turn)
 {
     m_Turn = i_Turn;
 }