Archetypen mit 60 Partien gemessen, Test tabellenunabhängig

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QPgKvy5W9WRNFHjkm5QsHx
This commit is contained in:
Team3
2026-09-16 16:32:41 +02:00
parent 4246d7e970
commit f68ac07550
3 changed files with 10 additions and 6 deletions

View File

@@ -5,11 +5,11 @@ const OPPONENT_RARITY_WEIGHT := {"gewöhnlich": 6.0, "selten": 3.0, "episch": 2.
# Abnehmende Resonanz je Anzahl gleichelementiger Partner (Index = Partner).
const RESONANCE_STEPS := [0, 1, 2, 3, 3]
# Gemessene Stärke der Elementkombinationen (Siegquote gegen das Feld, KI gegen KI, tests/strength_probe.gd).
# Gemessene Stärke der Elementkombinationen (Siegquote gegen das Feld, KI gegen KI, 60 Partien je Archetyp, tests/strength_probe.gd).
const ARCHETYPE_STRENGTH := {
"Feuer": 40, "Wasser": 56, "Erde": 46, "Luft": 63,
"Feuer+Wasser": 40, "Feuer+Erde": 83, "Feuer+Luft": 40,
"Wasser+Erde": 53, "Wasser+Luft": 23, "Erde+Luft": 60,
"Feuer": 38, "Wasser": 38, "Erde": 55, "Luft": 55,
"Feuer+Wasser": 45, "Feuer+Erde": 78, "Feuer+Luft": 46,
"Wasser+Erde": 50, "Wasser+Luft": 45, "Erde+Luft": 78,
}

View File

@@ -16,7 +16,7 @@ func _initialize() -> void:
var r := RandomNumberGenerator.new()
r.seed = 21
var arts := archetypes()
var n := 30
var n := 60
var results := {}
for a in arts:
var wins := 0

View File

@@ -1240,7 +1240,11 @@ func test_deckstaerke_und_schwierigkeit() -> void:
func test_starter_gegen_passende_gegner() -> void:
check(Game.archetypes("leicht").size() == 5 and Game.archetypes("schwer").size() == 5 and Game.archetypes().size() == 10, "Archetypen geteilt")
check("Wasser" in Game.archetypes("leicht") and "Erde+Luft" in Game.archetypes("schwer"), "schwache und starke Archetypen")
var table: Dictionary = DeckGen.ARCHETYPE_STRENGTH
var keys: Array = table.keys()
keys.sort_custom(func(a, b): return table[a] < table[b])
check(keys[0] in Game.archetypes("leicht") and keys[-1] in Game.archetypes("schwer"), "schwächster Archetyp in Leicht, stärkster in Schwer")
check(Game.archetypes("leicht").all(func(k): return table[k] <= table[Game.archetypes("schwer")[0]]), "Hälften nach Stärke getrennt")
var r := RandomNumberGenerator.new()
r.seed = 6
var starter := Profile.starter().deck_cards()