private StandardAlgebraicNotation(CastleSide side) { Piece = ChessPieceName.King; CastleMove = side; FromFileX = King.StartPositionFor(Colours.White).X; ToFileX = side == CastleSide.Queen ? 3 : 7; }
public StandardAlgebraicNotation(ChessPieceName piece, int?fromFileX, int?fromRankY, int toFileX, int toRankY, SanMoveTypes moveType = SanMoveTypes.Move, ChessPieceName?promotionPiece = null, bool inCheck = false) { Piece = piece; FromFileX = fromFileX; FromRankY = fromRankY; ToFileX = toFileX; ToRankY = toRankY; MoveType = moveType; PromotionPiece = promotionPiece; InCheck = inCheck; CastleMove = CastleSide.None; }