Deckstärke, Schwierigkeitsgrade mit Archetypen, Gegnerdecks entlang der Energiekurve, Starter mit zwei seltenen Karten
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QPgKvy5W9WRNFHjkm5QsHx
This commit is contained in:
37
tests/strength_probe.gd
Normal file
37
tests/strength_probe.gd
Normal file
@@ -0,0 +1,37 @@
|
||||
extends SceneTree
|
||||
## Archetyp-Stärke: jede Elementkombination gegen zufällige andere, gleiche Zielstärke, beide KI.
|
||||
|
||||
|
||||
func archetypes() -> Array:
|
||||
var out := []
|
||||
for e in Cards.ELEMENTS:
|
||||
out.append([e])
|
||||
for i in Cards.ELEMENTS.size():
|
||||
for j in range(i + 1, Cards.ELEMENTS.size()):
|
||||
out.append([Cards.ELEMENTS[i], Cards.ELEMENTS[j]])
|
||||
return out
|
||||
|
||||
|
||||
func _initialize() -> void:
|
||||
var r := RandomNumberGenerator.new()
|
||||
r.seed = 21
|
||||
var arts := archetypes()
|
||||
var n := 30
|
||||
var results := {}
|
||||
for a in arts:
|
||||
var wins := 0
|
||||
for i in n:
|
||||
var b: Array = arts[r.randi_range(0, arts.size() - 1)]
|
||||
var deck_a := Game.build_opponent_deck_rated(r, a, 1.6)
|
||||
var deck_b := Game.build_opponent_deck_rated(r, b, 1.6)
|
||||
var opp := Game.Player.new("Gegner 1", deck_b, false, Game.START_LIFE, "x")
|
||||
var g := Game.new_battle_with(deck_a, [opp], r)
|
||||
var guard := 0
|
||||
while g.winner == "" and guard < 300:
|
||||
AI.take_turn(g, g.current())
|
||||
guard += 1
|
||||
if g.winner == "human":
|
||||
wins += 1
|
||||
results["+".join(a)] = wins * 100 / n
|
||||
print("%-14s %3d%%" % ["+".join(a), wins * 100 / n])
|
||||
quit()
|
||||
Reference in New Issue
Block a user