diff options
| author | haoyuren <13851610112@163.com> | 2026-02-22 03:07:47 -0600 |
|---|---|---|
| committer | haoyuren <13851610112@163.com> | 2026-02-22 03:07:47 -0600 |
| commit | dc4795bf7a9991fca4673bf928830b7b627034e4 (patch) | |
| tree | c5d2f03ed4041986a8a0acc10ef1e2ab85cf72be /blazing_env.py | |
| parent | 480913b234ecf6147666bce641cecbaaeadd408a (diff) | |
Update rules: free draw/pass, remove Q in 2-player games
- Players can freely choose to draw even with playable cards
- After drawing, players may pass instead of playing
- Remove Q cards from deck in 2-player games (reverse has no effect)
- Use greedy random opponent in evaluation
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Diffstat (limited to 'blazing_env.py')
| -rw-r--r-- | blazing_env.py | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/blazing_env.py b/blazing_env.py index c3d97ae..c440293 100644 --- a/blazing_env.py +++ b/blazing_env.py @@ -15,7 +15,10 @@ Special cards: Rules: - Match top card by suit OR rank (unless playing 8 or Swap) - - Can't play → draw 1; if drawn card is playable, play it immediately + - Player may freely choose to draw even if they have playable cards + - After drawing, player may play any playable card OR pass (end turn) + - Each turn allows at most one draw + - If no playable cards and deck is empty, player must pass - First player to empty hand wins - Initial hand: 5 cards each """ @@ -92,7 +95,9 @@ class BlazingEightsEnv: self.rng = np.random.default_rng(seed) # Build & shuffle deck - deck = list(range(NUM_CARDS)) + # In 2-player games, remove Q cards (reverse has no effect) + deck = [c for c in range(NUM_CARDS) + if not (self.num_players == 2 and card_rank(c) == RANK_Q)] self.rng.shuffle(deck) # Deal 5 cards each |
