public void SetUpGame(char whiteGap, char blackGap) { Core.Color userColor = m_BoardRotated ? Core.Color.White : Core.Color.Black; m_User = new HumanPlayer(userColor); m_User.TurnTaken += EnableControl; m_User.MoveProduced += DisableControl; Player opponent; if (m_LocalMultiplayer) { opponent = new HumanPlayer(userColor.Inverse()); if (!m_BoardRotated) { m_ControlEnabled = true; } } else { MiniMaxAI opponentAI = new MiniMaxAI(userColor.Inverse(), c_AIThinkingTime); opponentAI.TurnTaken += OpponentBeginThinking; opponentAI.MoveProduced += OpponentEndThinking; opponent = opponentAI; } m_GameManager = new GameManager(whiteGap, blackGap, m_User, opponent); m_GameManager.MoveMade += RenderChanges; m_GameManager.MoveMade += CheckEndGame; }
private void SetUpGame(char whiteGap, char blackGap, bool userPlaysWhite) { Core.Color userColor = userPlaysWhite ? Core.Color.White : Core.Color.Black; m_ControlEnabled = m_BoardRotated = userPlaysWhite; m_User = new HumanPlayer(userColor); m_User.TurnTaken += EnableControl; m_User.MoveProduced += DisableControl; Player opponent; if (m_LocalMultiplayer) { opponent = new HumanPlayer(userColor.Inverse()); } else { opponent = new RandomAI(userColor.Inverse()); } m_GameManager = new GameManager(whiteGap, blackGap, m_User, opponent); m_GameManager.MoveMade += RenderAllPawns; }