Fix the bots' corner bias; settle seat order and RULES v0.9 (6.2, 6.8)

Bots now pick their start square and break path ties in their own
corner's frame; the absolute tie-break made corners 1 and 2 win 25-28%.
With that fixed, seat order is within target at 4 players, and a +1
stripe first-player bonus (new switch) gains only ~1 point, so no
compensation. RULES.md v0.9 lists the tested alternatives; the plan has
the 6.8 consolidation run and the seat-order study.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-09-27 18:27:06 +02:00
parent 52d8af620b
commit 79cbbccbb2
9 changed files with 178 additions and 24 deletions
+11
View File
@@ -246,6 +246,17 @@ def test_no_kumite_in_round_one_an_occupied_tunnel_exit_cannot_be_used() -> None
assert game.players[0].position == Pos(1, 6)
def test_first_player_bonus_raises_only_the_first_seat() -> None:
game, _, _ = make_game(players=3, config=RulesConfig(start_position=3, first_player_bonus=1))
assert [p.track for p in game.players] == [4, 3, 3]
def test_first_player_bonus_cannot_be_negative() -> None:
with pytest.raises(ValueError, match="first_player_bonus"):
RulesConfig(first_player_bonus=-1)
def test_first_kumite_round_must_be_positive() -> None:
with pytest.raises(ValueError, match="first_kumite_round"):
RulesConfig(first_kumite_round=0)