from pathlib import Path import json,csv root=Path(r'G:\项目\NumberSwipe-Variants');demo=root/'campaign-50' # Add a convenient entry without rebuilding or touching the existing mode files. entry='可玩DEMO · 50关

50关统一主线

五章渐进 · 奇偶与机制组合 · 全部关卡开放

' p=root/'index.html';s=p.read_text(encoding='utf-8-sig') if 'href="campaign-50/index.html"' not in s:s=s.replace('
','
'+entry,1) p.write_text(s,encoding='utf-8') p=root/'tools/build.mjs';s=p.read_text(encoding='utf-8-sig') if entry not in s:s=s.replace('
${definitions.map','
'+entry+'${definitions.map',1) p.write_text(s,encoding='utf-8') link='

50关可玩版已制作:打开50关DEMO → 本页保留原始设计目标,制作验收见试玩目录报告。

' p=root/'design/demo-50/index.html';s=p.read_text(encoding='utf-8-sig') if '../../campaign-50/index.html' not in s:s=s.replace('