Bot-Policies auf recherchierte Level-Timelines: Runden-Ziele, Rolldown-Runden, Slow-Roll, Not-Roll bei wenig HP

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
team3
2026-07-23 09:41:51 +02:00
parent 12603267bc
commit 54a3e7f9be
2 changed files with 66 additions and 16 deletions

View File

@@ -240,3 +240,16 @@ def test_loot_drops_components(art, cfg):
comp_art = {**art, "component_pool": ["C_A", "C_B"]}
game = Game(comp_art, cfg, seed=2)
assert all(i in ("C_A", "C_B") for i in game.items) # Carousel-Drop
def test_bot_leveling_follows_targets(art, cfg):
game = Game(art, cfg, seed=12)
levels_at = {}
while not game.over and game.round["label"] != "4-3":
label = game.round["label"]
if label in ("2-6", "3-3", "4-2"):
levels_at[label] = [b.level for b in game.bots if b.alive]
game.step()
assert all(lvl >= 5 for lvl in levels_at["2-6"]) # L5 ab 2-5
assert all(lvl >= 6 for lvl in levels_at["3-3"]) # L6 ab 3-1/3-2
assert any(lvl >= 7 for lvl in levels_at["4-2"]) # fast8/streaker auf 7