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(); } }
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"); }
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 }