Beispiel #1
0
    private void MakeMove(Vector2 point)
    {
        Checker beatedCheker;

        if (!selectedCheker.MakeAStroke(point, out beatedCheker))
        {
            Debug.LogWarning("Can't make strroke");
            return;
        }

        selectedCheker.transform.position =
            transform.TransformPoint(new Vector3(point.x * chekerSize, point.y * chekerSize, 0));
        DictionaryChecker[selectedCheker.Position] = null;
        DictionaryChecker[point] = selectedCheker;
        selectedCheker.Position  = point;

        if (beatedCheker != null)
        {
            DeleteChecker(beatedCheker);

            if (selectedCheker.Canbeat())
            {
                if (selectedCheker != null)
                {
                    SelectCell(selectedCheker);
                }
                inChainsStroke = true;
                return;
            }
        }

        if (selectedCheker.ChekerColor == ChekerColor.White)
        {
            if (point.y == 8 && !selectedCheker.isQueen)
            {
                MakeSelectedCheckerQueen();
            }
        }
        else if (point.y == 1 && !selectedCheker.isQueen)
        {
            MakeSelectedCheckerQueen();
        }

        DeselectChecker();
        curentStroke = curentStroke == ChekerColor.White ? ChekerColor.Black : ChekerColor.White;
    }
Beispiel #2
0
 public void Initialize(Board board, Vector2 position, ChekerColor color)
 {
     this.board  = board;
     Position    = position;
     ChekerColor = color;
 }