Coverage for src / beaverbunch / core / actions.py: 100.0%
20 statements
« prev ^ index » next coverage.py v7.13.4, created at 2026-03-05 20:45 +0000
« prev ^ index » next coverage.py v7.13.4, created at 2026-03-05 20:45 +0000
1from dataclasses import dataclass
2from enum import Enum, auto
5class ActionType(Enum):
6 DRAW_FROM_DECK = auto()
7 DRAW_FROM_DISCARD = auto()
8 REPLACE_CARD = auto()
9 DISCARD_DRAWN = auto()
10 PEEK_OWN_CARD = auto()
11 SWAP_CARD = auto()
12 SNAP = auto()
15@dataclass(frozen=True)
16class ReplaceCardAction:
17 player_id: str
18 hand_index: int
21@dataclass(frozen=True)
22class DiscardDrawnAction:
23 player_id: str
26@dataclass(frozen=True)
27class PeekOwnCardAction:
28 player_id: str
29 hand_index: int
32@dataclass(frozen=True)
33class SwapCardAction:
34 player_id: str
35 own_index: int
36 target_player_id: str
37 target_index: int
40@dataclass(frozen=True)
41class SnapAction:
42 player_id: str
43 hand_index: int