Example #1
0
 public void StartNewGame()
 {
     m_Board.InitBoard();
     MatrixChangeListeners.Invoke(Board.GameMatrix, Board.ValidMovesMatrix);
     NowPlaying = ePlayer.Xplayer;
     WhosTurnListeners.Invoke();
 }
Example #2
0
        /// return value is Game Over
        private bool updateGameAccordingToMove(ePlayer i_NextPlayer)
        {
            updateValidMovesMembers(i_NextPlayer);

            if (!m_AreThereMovesForO || !m_AreThereMovesForX)
            {
                updateValidMovesMembers(m_NowPlaying);
            }
            else
            {
                changeTurn();
            }

            MatrixChangeListeners.Invoke(m_Board.GameMatrix, m_Board.ValidMovesMatrix);

            bool isGameOver = m_Board.IsBoardFull() || (!m_AreThereMovesForX && !m_AreThereMovesForO);

            return(isGameOver);
        }