摘要

战斗记录 App(Battle Notes)有一个“属性对照”页:把截图里读到的部队攻击/防御,与资料库的基础值比较,显示“加强了多少、削弱了多少”,用来提示对方可能带了哪些影响属性的技能或装备。点开某一格还会显示说明。

状态估计模块(SE,把观察累积成对局状态和对手构筑推断)其实早已在结果里保存了详细的逐帧分解。例如在一段训练录像(10 月 10 日 16:57)里,深渊使者第 15 帧读到攻 40、防 37,同帧英雄攻 3、防 2、法强 28,再结合之前读到的知识值和“战斗魔法专家”,SE 给出 攻 30+3+7=40、防 30+2+5=37 的条件解释。

但 App 没有用上这些:属性对照页先按阵营过滤正负号(我方只留负数、敌方只留正数),于是我方攻防都显示成“无变化(看过 4 种生物)”——而那其实是同一兵种的 4 条观察;点击说明也只显示构筑来源文字,没有接 SE 已有的逐帧解释。本实验修复了这个App 消费缺口,没有修改任何 SE 推断结果或规则。

要回答的问题

App 的属性对照页为什么把有变化的属性显示成“无变化”?能否在不改推断结果的前提下,正确显示差值并接上已保存的条件解释?

数据与来源

两份真实的已保存分析结果(都是已曝光的训练来源,没有重扫视频或读取留出材料):

  1. 10 月 10 日 16:57 录像,58 帧;
  2. 10 月 10 日 01:39 录像,49 帧。

方法

  1. 保留差值的正负号和 0:单向差值仍用原来的众数汇总(并列时取离 0 近的),但明确写出“参考净差 / 几条观察 / 几条不同”。同一兵种的多次观察不再算成多个生物;不同值不当作错误,也不当作统一的敌方削弱。
  2. 正负并存时显示范围(外部审阅后加入):避免 −5、+5、0 被压成一个 0。范围不是某支部队的当前属性。
  3. 接上条件解释:攻防格的点击详情复用已有的面板原文渲染,接入同一方已保存的同帧/准备页/历史条件解释,同帧解释优先。只接受“非预测”、明确属于该方、兵种编号唯一的记录。旧格式没有机器可读的阵营/帧引用,所以只按已有展示类别选文字,不解析其中的数字、不绑定到某支部队或某帧,也不新增严格格式字段。
  4. 点击说明里把“面板条件解释”和“构筑来源估计”分区显示,互不替换数值;说明框高度上限调整,窄单元格悬停可看全文;表头写明“生物参考净差不是绝对属性,也不是已归因的敌方效果”。

设置

用真实的保存结果走完整的“加载 → 导入 → 保存分析对话框 → 属性对照页”路径,用界面测试工具点击我方生物攻击格。对照基线取修复前提交的两个渲染函数,其余依赖保持一致;这只比较这两处消费变化,不是完整旧安装包复现。

结果

输入 修复前 修复后
58 帧,我方攻/防 “无变化”,把 4 条观察写成 4 种;点击说明没有第 15 帧的分解 参考净差 +9 / +5(4 条观察;攻击含 1 条不同值);详情显示第 15 帧 攻 30+3+7=40、防 30+2+5=37 及完整前提
49 帧,我方攻/防 正差值被隐藏为“无变化” 参考净差 +15 / +4;凤凰 52/39 的条件对照 48/39 及攻击未解释的 +4 可见,没有伪造完整匹配

全局众数 +9 和第 15 帧单独的“基础/HUD 差 +7”是不同统计范围;详情逐帧保留,不合成一个当前属性。详情里的“条件参考净差 0”也不同于只扣基础/HUD 的原差 +7,两者语义都保留。

最终运行核对:两份真实导入和点击正常;所有非生物行、所有绝对值/加强/削弱格不变;请求、结果、会话不变;源快照的大小和修改时间不变;没有调用任何读取服务。两张 1280×800 界面截图已目视核对:参考净差和下方条件公式可见。

失败与负结果

  • 新测试文件首次运行 11 项中 9 项失败(修复前),修复后全部通过。
  • 混合正负保护的 8 项新用例修复前 6 失败 2 通过;修复后有 6 项失败,原因是测试本身把数据层的空值错写成了界面文字“未测”,修正这个测试层次错误后全部通过。
  • 窄表格里较长文字仍会被省略显示,点击/悬停能看全文;没有宣称所有分辨率都验收过。

局限

  • 这是展示和解释层面的修复,不证明 OCR 准确率、规则一致性或安装版可用;当前安装版没有更新。
  • 测试用的小型保存结果子集只是展示回归,不是新的真实标准答案。
  • 相关测试最终 112 个不同节点通过(重复批次不累计);两处修改过的旧文件里还有 4 项与修改前相同的既有代码风格警告,没有顺带清理。

结论与下一步

问题出在 App 的汇总和解释消费,不是 OCR 漏读,也不是 SE 没算出来。修复后,用户能在属性对照页看到正确的差值方向,并点开查看 SE 已经算好的条件公式。下一项只核对:现有的 SE 来源筛选是否与同一时点的公开规则属性参考一致,并用于用户已有的观察;如果没有实际遗漏,就不再扩建页面。