Пример #1
0
        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;
        }