Beispiel #1
0
 def expr(self, history, call):
     implied_min_points = max(0, self.min_points - history.partner.min_points)
     suit = call.strain
     if self.use_partners_last_suit:
         assert annotations.Artificial not in history.partner.annotations_for_last_call
         suit = history.partner.last_call.strain
     return z3.And(model.support_points_expr_for_suit(suit) >= implied_min_points,
                   model.playing_points >= implied_min_points)
Beispiel #2
0
 def expr(self, history, call):
     assert annotations.Artificial not in history.partner.annotations_for_last_call
     return model.support_points_expr_for_suit(history.partner.last_call.strain) <= self.max_points
Beispiel #3
0
 def expr(self, history, call):
     # We should assert here, except this is used to pass after a transfer accept (which is artificial)
     # assert annotations.Artificial not in history.partner.annotations_for_last_call
     return model.support_points_expr_for_suit(history.partner.last_call.strain) >= self.min_points