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); }
private void figureIsSelected() { PositionToMove positionToMoveTile = getPressedPositionToMove(posX, posY); if (positionToMoveTile != null) { FigureMoveScript.makeMove(posX, posY, boardScript, gameManager); } FigureMoveScript.UnselectFigure(gameManager, boardScript); }
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 }); }