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:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user