DKChan 869d00d678 docs(card): 需求卡片 v1.2——开工前自查,钉死四处会卡住施工方的口径
逐条自查「施工方会不会回头问」,查出并定死四处(另有两处笔误订正):

**1. S11 词表范围与 §4「不做」自相矛盾(最严重)**
原 T1 写「词表=退役词对照 + 用语规范 A 表禁用列全部」,但 §4 已把 A 表词
(不得 14/报错 18/对标 1/若干 1/buff 22)列为「不做、待用户另裁」。
⇒ 原写法会让 S11 一落闸就红 56 处,批末闸必然红、无法合回。
定死:词表=退役词对照节第一列 + 显式追加「完美排雷」完整短语;
明确不收 A 表词、不收单字「雷」。A 表将来裁入时另行扩表并单独立批。

**2. 单字「雷」会误伤 26 处保留词**
「排雷玩法/排雷规则」是内部机制名(§10 明定不扩大禁词面),
按单字「雷」扫会全部误判。定死:只收「完美排雷」完整短语。

**3. N7 修法不可行——_fx_emit 有状态,重复调用重复消费限次**
_fx_emit = _fx.dispatch(battle_orchestrator.gd:90-93),forgive_seal_miss 行
走 when lt 1 限次并由 _apply_counter_hit 记账 ⇒ 「先跑一次算 hl 再跑原循环」
会消费两次限次、归因行发两次。
定死:改为把 _emit_row("seal_miss")(:302)**后移**到 _fx_emit 循环(:308-317)之后,
循环跑完 _perfect_forgiven 已就位再判 hl。已实测
grep "insurance_used|perfect_insurance" game/smoke/smoke_all.gd 零命中
⇒ 行序调换不涉冒烟断言。

**4. A10/A11 断言落点不可执行**
原写「断言日志出现/不出现字样」,但日志文本由呈现层 battle_log_view._format_row
生成,core 层单测拿不到。定死:断言 seal_miss 行的 highlight 字段值
(未装备 == "perfect_broken"/装备 == ""),落点 tests/unit/core/;
另加 A12 断言两态文案与呈现分支一致且不含「雷」。

**另订正两处**:§4「做」列表重复第 6 项(完美排雷出现两次);
T4 步骤 adventure_runner.gd 漏列 :771(写 11 处只列 10 个行号)。

**同步新增**:契约 9 S11 闸门自指豁免(smoke_all.gd:1319 的禁字面检查行与
ui_font_asset_test.gd:18-19 字形夹具不含对照性信号,会被自指判红);
变异验证增「去掉自指豁免」一条;代拍板/范围边界措辞同步。
处数对账复核:T3=26/T4=35/T5=11/T6=9,与 §2 清单一致。

流水线闸 PASS:06 条目 64 · 总表数据行 32 · 交叉核 3 链 · 卡片口径 22 张全过。
2026-10-20 03:32:59 +08:00

Dungeon Sweeper(扫雷 × 自动战斗 闯关 Roguelike)

扫雷推理层+自动战斗结算的两段式回合 Roguelike。个人开发,Godot 4.7 · GDScript。

本 README 只是路牌——不重述任何规则,想知道什么去唯一权威处:

想知道 去看
这个游戏设计成什么样 design/gdd/02-系统清单.md(GDD 根索引)
开发流程怎么走(五段流水线/批次纪律/验收闸) design/dev/process-conventions.md+AGENTS.md 规范导航表(每段一个技能入口)
现在做什么 roadmap.md 顶部「当前位」节
待办与待裁 design/gdd/06-待办清单.md
S
Description
dungeon-sweeper
Readme
81 MiB
0 Stars 2 Watchers 0 Forks
Languages
GDScript 57.2%
HTML 28.5%
Python 11.9%
Shell 2.2%
JavaScript 0.1%
Other 0.1%