Add final results modal, active rules display, and UI improvements
- Add big final results modal at game end with rankings and share button - Add active rules bar showing enabled variants during gameplay - Increase spacing between player cards and opponents row - Add Wolfpack bonus rule (2 pairs of Jacks = -5 pts) - Change joker options to radio buttons (None/Standard/Lucky Swing/Eagle-Eye) - Update Eagle-Eye jokers: +2 pts unpaired, -4 pts paired - Add card flip animation on discard pile - Redesign waiting room layout with side-by-side columns - Style card backs with red Bee-style diamond crosshatch pattern - Compact standings panel to show top 4 per category - Various CSS polish and responsive improvements Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -235,11 +235,6 @@ def get_test_configs() -> list[tuple[str, GameOptions]]:
|
||||
super_kings=True,
|
||||
)))
|
||||
|
||||
configs.append(("lucky_sevens", GameOptions(
|
||||
initial_flips=2,
|
||||
lucky_sevens=True,
|
||||
)))
|
||||
|
||||
configs.append(("ten_penny", GameOptions(
|
||||
initial_flips=2,
|
||||
ten_penny=True,
|
||||
@@ -267,17 +262,7 @@ def get_test_configs() -> list[tuple[str, GameOptions]]:
|
||||
blackjack=True,
|
||||
)))
|
||||
|
||||
# === Gameplay Twists ===
|
||||
|
||||
configs.append(("queens_wild", GameOptions(
|
||||
initial_flips=2,
|
||||
queens_wild=True,
|
||||
)))
|
||||
|
||||
configs.append(("four_of_a_kind", GameOptions(
|
||||
initial_flips=2,
|
||||
four_of_a_kind=True,
|
||||
)))
|
||||
# === Special Rules ===
|
||||
|
||||
configs.append(("eagle_eye", GameOptions(
|
||||
initial_flips=2,
|
||||
@@ -292,7 +277,6 @@ def get_test_configs() -> list[tuple[str, GameOptions]]:
|
||||
use_jokers=True,
|
||||
lucky_swing=True,
|
||||
super_kings=True,
|
||||
lucky_sevens=True,
|
||||
ten_penny=True,
|
||||
)))
|
||||
|
||||
@@ -311,8 +295,6 @@ def get_test_configs() -> list[tuple[str, GameOptions]]:
|
||||
configs.append(("WILD CARDS", GameOptions(
|
||||
initial_flips=2,
|
||||
use_jokers=True,
|
||||
queens_wild=True,
|
||||
four_of_a_kind=True,
|
||||
eagle_eye=True,
|
||||
)))
|
||||
|
||||
@@ -329,14 +311,11 @@ def get_test_configs() -> list[tuple[str, GameOptions]]:
|
||||
use_jokers=True,
|
||||
lucky_swing=True,
|
||||
super_kings=True,
|
||||
lucky_sevens=True,
|
||||
ten_penny=True,
|
||||
knock_bonus=True,
|
||||
underdog_bonus=True,
|
||||
tied_shame=True,
|
||||
blackjack=True,
|
||||
queens_wild=True,
|
||||
four_of_a_kind=True,
|
||||
eagle_eye=True,
|
||||
)))
|
||||
|
||||
@@ -457,15 +436,6 @@ def print_expected_effects(results: list[RuleTestResult]):
|
||||
status = "✓" if diff < 0 else "✗"
|
||||
checks.append((r.name, expected, f"{actual} ({diff:+.1f})", status))
|
||||
|
||||
# lucky_sevens should lower scores (7s worth 0 instead of 7)
|
||||
r = find("lucky_sevens")
|
||||
if r and r.scores:
|
||||
diff = r.mean_score - baseline.mean_score
|
||||
expected = "LOWER scores"
|
||||
actual = "lower" if diff < -1 else "higher" if diff > 1 else "similar"
|
||||
status = "✓" if diff < 0 else "✗"
|
||||
checks.append((r.name, expected, f"{actual} ({diff:+.1f})", status))
|
||||
|
||||
# ten_penny should lower scores (10s worth 1 instead of 10)
|
||||
r = find("ten_penny")
|
||||
if r and r.scores:
|
||||
|
||||
Reference in New Issue
Block a user