Ejemplo n.º 1
0
        public static List <PositionToMove> lineCheck(string[,] chessBoard, int fromX, int fromY, int dirX, int dirY)
        {
            //String[,] chessBoardRotated = rotateBoard(chessBoard, chessBoard.GetLength(1));
            List <PositionToMove> result = new List <PositionToMove>();
            int moveX = fromX + dirX;
            int moveY = fromY + dirY;

            while (true)
            {
                if (canMoveToPos(chessBoard, moveX, moveY))
                {
                    PositionToMove newPos = new PositionToMove(moveX, moveY);
                    result.Add(newPos);
                }
                else
                {
                    if (canBeatFigure(chessBoard, fromX, fromY, moveX, moveY))
                    {
                        PositionToMove newPos = new PositionToMove(moveX, moveY);
                        result.Add(newPos);
                    }
                    break;
                }
                moveX += dirX;
                moveY += dirY;
            }
            return(result);
        }
Ejemplo n.º 2
0
        private void figureIsSelected()
        {
            PositionToMove positionToMoveTile = getPressedPositionToMove(posX, posY);

            if (positionToMoveTile != null)
            {
                FigureMoveScript.makeMove(posX, posY, boardScript, gameManager);
            }
            FigureMoveScript.UnselectFigure(gameManager, boardScript);
        }
Ejemplo n.º 3
0
        public virtual List <PositionToMove> getPositionsToMove(String[,] chessBoard)
        {
            //TODO: Return to null
            PositionToMove pos = new PositionToMove();

            pos.posX = 1;
            pos.posY = 1;
            return(new List <PositionToMove>()
            {
                pos
            });
        }