摘要
2026-09-07,用户要求记录 Simulator(项目对游戏战斗规则的重新实现)当前所有未完成项,并判断近期交付变慢是否需要重构。本记录是一次检查点评估:把欠账整理为 B01–B10 十个工作包,用只读的行数 / 语法树统计找出复杂度集中处,结论是需要重构,但要围绕具体缺陷和职责分批做,不能把拆文件当作修规则。随后执行的第一批重构(专注触发模块提取)通过了新旧行为等价检查,但并未关闭任何已知数值缺陷。
要回答的问题
- 还有哪些工作没完成,各自的关闭条件是什么?
- 交付变慢是不是代码结构造成的?应该先重构什么?
方法
- 只使用已有文字、截图、安装资料和已有录像,不操作商业游戏,不重启用户正在使用的本地服务。
- 每个工作包写明当前依据和关闭条件;工作包之间不能相加成“bug 总数”。
- 对当前工作树做只读行数与语法树统计。
结果:十个工作包(节选)
| 编号 | 内容 | 状态 |
|---|---|---|
| B01 | 兵种固定等级 / 重抽整合 | 固定种子卡局已消失,原作候选池耗尽时的恢复规则仍未知;仍是发布前首要可玩性缺陷 |
| B02 | 强力链接四维百分比 | 已确认数值缺陷,24 个严格预期失败 |
| B03 | 三位一体与 Jack 组合 | 私有新版本已接线,公开版本仍有 4 个严格预期失败 |
| B04 | 完整对局稳定性 | 自动化门禁当前无红灯,但不等于完整商业保真 |
| B05–B10 | 复杂规则保真、施法交互、UI 可玩性、日志因果统计、AI 训练准入、完成度追踪 | 均部分完成,未关闭 |
复杂度最集中的几处:战斗主文件 26441 行(其中布阵构造函数 3189 行)、状态文件 11390 行(一个初始化函数 1671 行)、对战 AI 的单位能力评分函数 1021 行。更重要的观察是:临时英雄属性的“应用”和“到期”分散在不同路径,原始来源、当前面板和移除增量被分头维护,而这恰好与 B02 / B03 的缺陷边界重合——这比“文件太长”更值得重构。
为什么变慢(未量化)
代码职责集中会扩大一次修改的检查范围;近期很多工作是规则取证而非新增功能;部分测试用完整随机选秀去获得某个法术,规则一改就在无关步骤失败;全量测试本身耗时(例如 App + 集成全量约 317 秒)。没有编辑耗时的历史测量,因此不能说某个因素贡献了多少减速。
建议顺序
- 围绕 B02 / B03 统一临时英雄属性的来源与生命周期,复用现有组件,不另造一套属性引擎;修规则单独升版本,纯提取保持行为不变。
- 整理测试前置条件:展示类测试用明确合法的场景构造,另保留真实端到端轨迹。
- 按职责拆分网页会话的展示与存档。
- 逐项减少日志、UI、AI 对规则的重复解释。
首批重构结果
把战斗引擎中的“专注消耗效果”提取为独立模块,调用方只负责提交结果。16 项新测试通过;用 Git 中提取前的旧方法对照 12 局 / 60 次状态转移,菜单、完整事件和状态逐次相同。最终 95 通过 / 28 严格预期失败;Simulator + 集成全量 8853 通过 / 30 失败 / 3 错误 / 2 跳过 / 28 严格预期失败(202.65 秒),33 个失败编号全部在此前出现过。首次对照脚本因缺少常量导入失败,补齐后重新完整通过。
局限与结论
这是检查点,不是发布证书或完成百分比。重构等价性只证明行为没变,不证明符合原游戏;24+4 个已知数值缺陷原样保留。用户随后授权执行覆盖 B01–B10 的整体目标,后续进展在各工作包的生命周期文档中逐项更新。
Comments