public CastlingMove(Piece king, ISquare from, ISquare to, Piece rook,ISquare castlingRookFrom, ISquare castlingRookTo,int ply) : base(king, from, to, null,ply) { CastlingRook = rook; CastlingRookFrom = castlingRookFrom; CastlingRookTo = castlingRookTo; }
public NormalMove(Piece piece, ISquare from, ISquare to, Piece capture, int ply) { Piece = piece; Ply = ply; _from = from; _to = to; _capture = capture; }
public PawnDoubleMove(Piece piece, ISquare from, ISquare to, int ply) : base(piece, from, to, null, ply) { }
public EnPassantMove(Piece piece, ISquare from, ISquare to, Piece capture, int ply) : base(piece, @from, to, capture,ply) { }