バックエンドAPI

This commit is contained in:
2026-02-15 14:53:03 +09:00
commit fa86f555af
18 changed files with 2217 additions and 0 deletions

70
debug_render.py Normal file
View File

@@ -0,0 +1,70 @@
from diplomacy import Game
import json
def test_render():
# Turn 1 State (Standard Start)
state_t1 = {
"timestamp": 0,
"map": "standard",
"rules": ["NO_PRESS"],
"status": "active",
"phase": "S1901M",
"units": {
"AUSTRIA": ["A VIE", "A BUD", "F TRI"],
"ENGLAND": ["F EDI", "F LON", "A LVP"],
"FRANCE": ["F BRE", "A MAR", "A PAR"],
"GERMANY": ["A BER", "A MUN", "F KIE"],
"ITALY": ["F NAP", "A ROM", "A VEN"],
"RUSSIA": ["A WAR", "A MOS", "F SEV", "F STP/SC"],
"TURKEY": ["F ANK", "A CON", "A SMY"]
},
"scs": {
"AUSTRIA": ["VIE", "BUD", "TRI"],
"ENGLAND": ["EDI", "LON", "LVP"],
"FRANCE": ["BRE", "MAR", "PAR"],
"GERMANY": ["BER", "MUN", "KIE"],
"ITALY": ["NAP", "ROM", "VEN"],
"RUSSIA": ["WAR", "MOS", "SEV", "STP"],
"TURKEY": ["ANK", "CON", "SMY"]
}
}
# Turn 10 State (Hypothetical, clearly different)
state_t10 = state_t1.copy()
state_t10["phase"] = "S1904M"
state_t10["units"] = {
"AUSTRIA": ["A RUM", "A BOH", "F ADR"], # MOVED
"ENGLAND": ["F NWG", "F WAL", "A EDI"],
"FRANCE": ["A MUN", "A SPA", "F TUN"],
"GERMANY": ["A SIL", "A PRU", "F HOL"],
"ITALY": ["F NAP", "A SER", "A APU"],
"RUSSIA": ["A WAR", "A MOS", "F SEV", "F NTH"],
"TURKEY": ["F BLA", "A BUL", "A CON"]
}
game1 = Game()
game1.set_state(state_t1)
svg1 = game1.render(output_format='svg')
game10 = Game()
game10.set_state(state_t10)
svg10 = game10.render(output_format='svg')
print(f"SVG1 Length: {len(svg1)}")
print(f"SVG10 Length: {len(svg10)}")
if svg1 == svg10:
print("SVGs are IDENTICAL (Problem!)")
else:
print("SVGs are DIFFERENT (Good)")
# Check if 'RUM' is in SVG10 details
if "RUM" in svg10:
print("SVG10 contains 'RUM'")
# Check if 'VIE' is in SVG10 details
if "VIE" in svg10:
print("SVG10 contains 'VIE' (Expected as label)")
if __name__ == "__main__":
test_render()