protected static Move captureMove(Piece capture) { return((Move)((UInt32)capture << nCaptiveBit)); }
protected static Move promotionMove(Piece p) { return((Move)((UInt32)p << nPromoteBit)); }
protected static Move pieceMove(Piece piece) { return((Move)((UInt32)piece << nPieceBit)); }