示例#1
0
    private void Initialization(Position startPosition, Position endPosition)
    {
        Errors = new List <string>();

        name = GetName(startPosition);

        startColor = EFigureColor.None;
        startPos   = startPosition.GetPosition();

        endColor = EFigureColor.None;
        endPos   = endPosition.GetPosition();

        if (startPosition.GetFigure())
        {
            startColor = startPosition.GetFigure().GetComponent <FigureConfiguration>().GetColor();
        }

        if (endPosition.GetFigure())
        {
            endColor = endPosition.GetFigure().GetComponent <FigureConfiguration>().GetColor();
            endTepe  = endPosition.GetFigure().GetComponent <FigureConfiguration>().GetType();
        }
    }
示例#2
0
        private void MakeStep(string startPosition, string endPosition)
        {
            GameObject figure;

            switch (_playerColor)
            {
            case EFigureColor.Black:

                figure = _blackMap[startPosition].GetFigure();

                // Атака
                if (_blackMap[endPosition].GetFigure())
                {
                    _blackMap[startPosition].SetFigure(null);
                    _whiteMap[GetReflectedNamePosition(startPosition)].SetFigure(null);
                    _blackMap[endPosition].SetFigure(null);
                    _whiteMap[GetReflectedNamePosition(endPosition)].SetFigure(null);
                    _blackMap[endPosition].SetFigure(figure);
                    _whiteMap[GetReflectedNamePosition(endPosition)].SetFigure(figure);
                }
                // Передвижение
                else
                {
                    _blackMap[startPosition].SetFigure(null);
                    _whiteMap[GetReflectedNamePosition(startPosition)].SetFigure(null);
                    _blackMap[endPosition].SetFigure(figure);
                    _whiteMap[GetReflectedNamePosition(endPosition)].SetFigure(figure);
                }

                blackCamera.SetActive(false);
                whiteCamera.SetActive(true);
                _playerColor = EFigureColor.White;

                break;

            case EFigureColor.White:

                figure = _whiteMap[startPosition].GetFigure();

                // Атака
                if (_whiteMap[endPosition])
                {
                    _whiteMap[startPosition].SetFigure(null);
                    _blackMap[GetReflectedNamePosition(startPosition)].SetFigure(null);
                    _whiteMap[endPosition].SetFigure(null);
                    _blackMap[GetReflectedNamePosition(endPosition)].SetFigure(null);
                    _whiteMap[endPosition].SetFigure(figure);
                    _blackMap[GetReflectedNamePosition(endPosition)].SetFigure(figure);
                }
                // Передвижение
                else
                {
                    _whiteMap[startPosition].SetFigure(null);
                    _blackMap[GetReflectedNamePosition(startPosition)].SetFigure(null);
                    _whiteMap[endPosition].SetFigure(figure);
                    _blackMap[GetReflectedNamePosition(endPosition)].SetFigure(figure);
                }

                blackCamera.SetActive(true);
                whiteCamera.SetActive(false);
                _playerColor = EFigureColor.Black;

                break;
            }

            //Debug.Log($"{_playerColor}'s next move");
        }
示例#3
0
        private BoardManager()
        {
            FiguresManager figuresManager = GameObject.Find("FiguresManager").GetComponent <FiguresManager>();

            blackCamera = GameObject.Find("BlackCamera");
            whiteCamera = GameObject.Find("WhiteCamera");

            #region Find positions

            #region Find AH
            A1H8 = GameObject.Find("A1H8").GetComponent <Position>();
            A2H7 = GameObject.Find("A2H7").GetComponent <Position>();
            A3H6 = GameObject.Find("A3H6").GetComponent <Position>();
            A4H5 = GameObject.Find("A4H5").GetComponent <Position>();
            A5H4 = GameObject.Find("A5H4").GetComponent <Position>();
            A6H3 = GameObject.Find("A6H3").GetComponent <Position>();
            A7H2 = GameObject.Find("A7H2").GetComponent <Position>();
            A8H1 = GameObject.Find("A8H1").GetComponent <Position>();
            #endregion

            #region Find BG
            B1G8 = GameObject.Find("B1G8").GetComponent <Position>();
            B2G7 = GameObject.Find("B2G7").GetComponent <Position>();
            B3G6 = GameObject.Find("B3G6").GetComponent <Position>();
            B4G5 = GameObject.Find("B4G5").GetComponent <Position>();
            B5G4 = GameObject.Find("B5G4").GetComponent <Position>();
            B6G3 = GameObject.Find("B6G3").GetComponent <Position>();
            B7G2 = GameObject.Find("B7G2").GetComponent <Position>();
            B8G1 = GameObject.Find("B8G1").GetComponent <Position>();
            #endregion

            #region Find CF
            C1F8 = GameObject.Find("C1F8").GetComponent <Position>();
            C2F7 = GameObject.Find("C2F7").GetComponent <Position>();
            C3F6 = GameObject.Find("C3F6").GetComponent <Position>();
            C4F5 = GameObject.Find("C4F5").GetComponent <Position>();
            C5F4 = GameObject.Find("C5F4").GetComponent <Position>();
            C6F3 = GameObject.Find("C6F3").GetComponent <Position>();
            C7F2 = GameObject.Find("C7F2").GetComponent <Position>();
            C8F1 = GameObject.Find("C8F1").GetComponent <Position>();
            #endregion

            #region Find DE
            D1E8 = GameObject.Find("D1E8").GetComponent <Position>();
            D2E7 = GameObject.Find("D2E7").GetComponent <Position>();
            D3E6 = GameObject.Find("D3E6").GetComponent <Position>();
            D4E5 = GameObject.Find("D4E5").GetComponent <Position>();
            D5E4 = GameObject.Find("D5E4").GetComponent <Position>();
            D6E3 = GameObject.Find("D6E3").GetComponent <Position>();
            D7E2 = GameObject.Find("D7E2").GetComponent <Position>();
            D8E1 = GameObject.Find("D8E1").GetComponent <Position>();
            #endregion

            #region Find ED
            E1D8 = GameObject.Find("E1D8").GetComponent <Position>();
            E2D7 = GameObject.Find("E2D7").GetComponent <Position>();
            E3D6 = GameObject.Find("E3D6").GetComponent <Position>();
            E4D5 = GameObject.Find("E4D5").GetComponent <Position>();
            E5D4 = GameObject.Find("E5D4").GetComponent <Position>();
            E6D3 = GameObject.Find("E6D3").GetComponent <Position>();
            E7D2 = GameObject.Find("E7D2").GetComponent <Position>();
            E8D1 = GameObject.Find("E8D1").GetComponent <Position>();
            #endregion

            #region Find FC
            F1C8 = GameObject.Find("F1C8").GetComponent <Position>();
            F2C7 = GameObject.Find("F2C7").GetComponent <Position>();
            F3C6 = GameObject.Find("F3C6").GetComponent <Position>();
            F4C5 = GameObject.Find("F4C5").GetComponent <Position>();
            F5C4 = GameObject.Find("F5C4").GetComponent <Position>();
            F6C3 = GameObject.Find("F6C3").GetComponent <Position>();
            F7C2 = GameObject.Find("F7C2").GetComponent <Position>();
            F8C1 = GameObject.Find("F8C1").GetComponent <Position>();
            #endregion

            #region Find GB
            G1B8 = GameObject.Find("G1B8").GetComponent <Position>();
            G2B7 = GameObject.Find("G2B7").GetComponent <Position>();
            G3B6 = GameObject.Find("G3B6").GetComponent <Position>();
            G4B5 = GameObject.Find("G4B5").GetComponent <Position>();
            G5B4 = GameObject.Find("G5B4").GetComponent <Position>();
            G6B3 = GameObject.Find("G6B3").GetComponent <Position>();
            G7B2 = GameObject.Find("G7B2").GetComponent <Position>();
            G8B1 = GameObject.Find("G8B1").GetComponent <Position>();
            #endregion

            #region Find HA
            H1A8 = GameObject.Find("H1A8").GetComponent <Position>();
            H2A7 = GameObject.Find("H2A7").GetComponent <Position>();
            H3A6 = GameObject.Find("H3A6").GetComponent <Position>();
            H4A5 = GameObject.Find("H4A5").GetComponent <Position>();
            H5A4 = GameObject.Find("H5A4").GetComponent <Position>();
            H6A3 = GameObject.Find("H6A3").GetComponent <Position>();
            H7A2 = GameObject.Find("H7A2").GetComponent <Position>();
            H8A1 = GameObject.Find("H8A1").GetComponent <Position>();
            #endregion
            #endregion

            #region Set figures on positions

            #region Set AH
            A1H8.SetFigure(figuresManager.GetBlackRock());
            A2H7.SetFigure(figuresManager.GetBlackPawn());
            A7H2.SetFigure(figuresManager.GetWhitePawn());
            A8H1.SetFigure(figuresManager.GetWhiteRock());
            #endregion

            #region Set BG
            B1G8.SetFigure(figuresManager.GetBlackKnight());
            B2G7.SetFigure(figuresManager.GetBlackPawn());
            B7G2.SetFigure(figuresManager.GetWhitePawn());
            B8G1.SetFigure(figuresManager.GetWhiteKnight());
            #endregion

            #region Set CF
            C1F8.SetFigure(figuresManager.GetBlackBishop());
            C2F7.SetFigure(figuresManager.GetBlackPawn());
            C7F2.SetFigure(figuresManager.GetWhitePawn());
            C8F1.SetFigure(figuresManager.GetWhiteBishop());
            #endregion

            #region Set DE
            D1E8.SetFigure(figuresManager.GetBlackKing());
            D2E7.SetFigure(figuresManager.GetBlackPawn());
            D7E2.SetFigure(figuresManager.GetWhitePawn());
            D8E1.SetFigure(figuresManager.GetWhiteQueen());
            #endregion

            #region Set ED
            E1D8.SetFigure(figuresManager.GetBlackQueen());
            E2D7.SetFigure(figuresManager.GetBlackPawn());
            E7D2.SetFigure(figuresManager.GetWhitePawn());
            E8D1.SetFigure(figuresManager.GetWhiteKing());
            #endregion

            #region Set FC
            F1C8.SetFigure(figuresManager.GetBlackBishop());
            F2C7.SetFigure(figuresManager.GetBlackPawn());
            F7C2.SetFigure(figuresManager.GetWhitePawn());
            F8C1.SetFigure(figuresManager.GetWhiteBishop());
            #endregion

            #region Find GB
            G1B8.SetFigure(figuresManager.GetBlackKnight());
            G2B7.SetFigure(figuresManager.GetBlackPawn());
            G7B2.SetFigure(figuresManager.GetWhitePawn());
            G8B1.SetFigure(figuresManager.GetWhiteKnight());
            #endregion

            #region Find HA
            H1A8.SetFigure(figuresManager.GetBlackRock());
            H2A7.SetFigure(figuresManager.GetBlackPawn());
            H7A2.SetFigure(figuresManager.GetWhitePawn());
            H8A1.SetFigure(figuresManager.GetWhiteRock());
            #endregion
            #endregion

            _blackMap = new Dictionary <string, Position>();
            _whiteMap = new Dictionary <string, Position>();

            _startSteps = new Stack <string>();
            _endSteps   = new Stack <string>();

            blackCamera.SetActive(false);
            _playerColor = EFigureColor.White;

            #region CreateMaps
            CreateA();
            CreateB();
            CreateC();
            CreateD();
            CreateE();
            CreateF();
            CreateG();
            CreateH();
            #endregion
        }