def __init__(self, bid_name, artificial=None, opening=None, transfer_to=None, takeout_double=None, negative_double=None, penalty_double=None, lead_directing_double=None, blackwood=None, gerber=None, michaels_cuebid=None, michaels_minor_request=None, unusual_two_nt=None, stayman=None, jacoby_two_nt=None, jacoby_transfer=None, two_spades_puppet=None, fourth_suit_forcing=None, preempt=None, jordan=None, two_nt_feature_request=None): Call.__init__(self, bid_name) self.artificial = artificial or False self.preempt = preempt or False self.opening = opening or False self.transfer_to = transfer_to self.takeout_double = takeout_double or False self.negative_double = negative_double or False self.penalty_double = penalty_double or False self.lead_directing_double = lead_directing_double or False self.blackwood = blackwood or False self.gerber = gerber or False # FIXME: Stayman could be written more generically on HandConstraints by promising a 4-card major. self.stayman = stayman or False # FIXME: Michaels could be written more generically on HandConstraints by promising a 5-card minor. self.michaels_cuebid = michaels_cuebid or False self.michaels_minor_request = michaels_minor_request or False # FIXME: Unusual2NT could be written more generically on HandConstraints by promising a 5-card major. self.unusual_two_nt = unusual_two_nt or False self.jacoby_two_nt = jacoby_two_nt or False self.jacoby_transfer = jacoby_transfer or False # FIXME: TwoSpadesPuppet could be written more generically on HandConstraints by promising a 6-card minor. self.two_spades_puppet = two_spades_puppet or False self.fourth_suit_forcing = fourth_suit_forcing or False self.two_nt_feature_request = two_nt_feature_request or False self.jordan = jordan or False # Jordan doesn't really need its own flag, no one ever checks it.