Trump card: draw from the stack, no trump for wizards and jesters
- Deal the hands from the shuffled stack and draw the trump card from it, so the trump card is in nobody's hand and cannot be played - A wizard or jester as trump card means no trump suit (previously a wizard let the dealer choose); remove the trump selection phase, the ChooseTrump action, the trump picker UI and the AI trump actions - Completed tricks carry their round's trump card, so the table keeps showing the matching trump card while the last trick of a round is displayed - Card corners are no longer rotated, so 6 and 9 cannot be confused - Trump label explains why there is no trump (wizard, jester, last round) - Tests: trump card never dealt, special cards give no trump, tricks keep their trump card Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -28,6 +28,17 @@ def validate_player_count(num_players: int) -> None:
|
||||
)
|
||||
|
||||
|
||||
def trump_suit(trump_card: Card | None) -> Suit | None:
|
||||
"""The trump suit defined by the turned up trump card.
|
||||
|
||||
Only a number card defines a trump suit. A wizard, a jester or no trump
|
||||
card at all (last round) means the round is played without trump.
|
||||
"""
|
||||
if trump_card is None or not trump_card.is_number:
|
||||
return None
|
||||
return trump_card.suit
|
||||
|
||||
|
||||
def lead_suit(trick: Sequence[Card]) -> Suit | None:
|
||||
"""The suit that has to be followed in a trick.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user