Пример #1
0
        public int Move(int player, int pieceIndex, int nextPos, int finishPos)
        {
            if (nextPos >= finishPos)
            {
                data.Tiles[data.GetPiecePos(player, pieceIndex)].RemovePiece();
                data.PieceMap[player].RemoveAt(pieceIndex);

                return(finishPos + 1);
            }

            Piece old = data.Tiles[nextPos].MovePiece(GetPiece(player, pieceIndex));

            if (old != null)
            {
                data.PieceMap[old.GetColor()][data.PieceMap[old.GetColor()].IndexOf(nextPos)] = -1;
            }
            data.PieceMap[player][pieceIndex] = nextPos;

            return(nextPos);
        }