public void StartNewGame() { m_Board.InitBoard(); MatrixChangeListeners.Invoke(Board.GameMatrix, Board.ValidMovesMatrix); NowPlaying = ePlayer.Xplayer; WhosTurnListeners.Invoke(); }
/// 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); }