摘要
凤凰是一种范围攻击生物:一次攻击按固定形状(“横扫模板”)依次命中多个格子上的单位或场地物件。Simulator(本项目自己写的战斗规则引擎)已有凤凰横扫的大量测试,但它们绑定在旧版游戏安装的来源证据上;游戏更新到 0.81.04/build25672315 后,这些测试在“准备阶段”就因版本身份不符被拒绝,实际上没有执行。本批重新审阅当前版本的原生证据,恢复其中 186 个测试的执行,三个测试文件共 196 个案例全部通过,没有改动任何原有数值断言。
要回答的问题
当前安装版本里,凤凰横扫的几何形状、目标迭代顺序、幸运倍率传递、单位存活门槛和对物件的伤害片段,是否仍与旧证据一致?如果一致,能否让那些被版本门禁挡住的测试重新跑起来,且不降低检查标准?
方法
- 独立冻结当前版本的 547 个去重原生指令点和 19 个浮点常量,严格核对 6 种场地物件、6 个凤凰伤害来源和 3 个模板;额外为几何方向所用的坐标/角度常量加门禁。
- 新旧版本只在明确审阅过的输入和片段上建立兼容关系,旧工具与旧来源版本保留。
结果
| 测试模块 | 恢复的准备错误 | 实际检查内容 |
|---|---|---|
| 普攻形状 | 6 | 三种形态×普攻/反击,每组遍历 732 个合法邻接朝向 |
| 凤凰有序单位波次 | 65 | 六朝向、奇偶行、友伤、幸运共享、反射、反击、追加击等 |
| 凤凰混合对象波次 | 115 | 单位/物件作锚点、六种物件、剩余生命上限、移动后落点等 |
- 三个文件共 196 个案例通过(其中 10 个此前已能执行),没有新增行为测试节点,也没有删除、跳过或放松断言。几何矩阵是受控案例,不是数千局自然对战。
- 来源/场景/索引/公共边界专项 842 通过。
- Simulator 全量 11727 通过、68 失败、0 准备错误、2 跳过、26 严格预期失败;逐节点比较减少 186 个坏节点,新增 0,遗漏 0。68 个失败来自其他旧版本来源门禁,不是 68 个数值错误。
- Game Knowledge 全量 7425 通过、31 失败、7 准备错误,新增 561 项证据测试,无新增坏节点。
对 AI 与状态估计的含义
一次横扫的多个目标共用施放时的幸运倍率,但各自独立抽取基础伤害;物件的伤害上限在抽样之后才应用。状态估计因此必须联合核对主目标、旁伤、反击和最终生命,不能只匹配主伤害。本轮没有改变 AI 或状态估计的默认策略。
失败与负结果
完整集成测试首次在 Core 环境因缺 numpy 出现 3 个收集错误;改用现成的另一环境串行执行后为 1214 通过、27 失败、86 准备错误,原因包括缺 joblib、命令行子进程无法导入状态估计包、缺少一个合成夹具文件。没有为掩盖这些问题安装依赖或修改其他模块,因此 842 项专项通过不能说成全项目全量通过。
局限
本次改善的是来源校验和已有测试的有效执行,生产规则、公共事实版本和接口都没有改变。完整反应队列、商业游戏随机序列和真实客户端实战都没有认证。原始残骸召唤数量、九头蛇、奈拉之吻、复制体死亡/复活等已知严格预期失败仍待修复。
结论与下一步
凤凰横扫的当前版本证据已闭环,测试重新真正执行且全部通过。后续继续处理其他严格预期失败,见实验 0334 的总体进度。
Comments