摘要

Battle Notes 是玩家边玩边记录对局的桌面笔记程序。本项工作在它的顶栏加了 AI 场景分析:保留当前对局记录的双方兵种和数量(不要求先填英雄),就能看到两种评分、条件建议、详细指标、面板差值、技能条件估计和缺失信息。之后又加了两层:已知我方装备的条件贡献(build v1)和敌方装备子集搜索(build v2)。

这是功能实现与验收记录,不是默认行动策略升级。评分没有校准成胜率;装备搜索只在合成反例上验证过,不是实战准确率。

要解决的问题

玩家在战斗中想知道:按当前已知信息,双方实力大致如何?有哪些值得注意的打法提示?敌方面板上无法解释的数值,可能来自哪些装备?

方法

计算边界:State Estimation(状态估计模块)接收有截止时刻的本局输入,给出局部估计;Game AI 消费这些估计生成分析。程序只通过 JSON 文件调用核心子进程,界面不直接导入模拟器或预测实现。晚于截止时刻的证据不用,跨局输入拒绝,同种多队保持未知,不宣称已有实体追踪。

评分:

  • 生命容量 = 数量 × 生命上限;
  • 杀伤潜力 = 数量 × 平均每只杀伤 × max(1, 攻击 + 20);
  • 抗压指数 = 生命容量 × max(1, 防御 + 20);
  • 综合分 = 三项“(我方 − 敌方) / 双方总和”的等权平均 × 100,范围 −100 到 100;数量缺失或冲突时综合分为空,只显示已知小计。

基础血量不是当前剩余生命,输出/抗压不是实际伤害,综合分不是胜率。条件建议提示高输出射手、射手保护、速度、共同增量与魔耗;没有完整站位和合法动作时不给可直接执行的指令。

已知装备的条件贡献(build v1):按本局记录的我方已穿装备,调用 Simulator 公开的装备效果与套装查询,对士气、幸运、先攻、移速给出“移除此项后的条件值”。例如第六指戒使敌方单位士气、幸运各 −1,已与当前安装数据核对;合成面板士气 +2 显示为原读数 +2、已知贡献 −1、条件值 +3。空列表不证明没有影响;未知或不支持的装备保持无法解释。

敌方装备子集搜索(build v2):填写敌方英雄、至少一个兵种、至少两项英雄属性后,复用公开属性投影完整计算候选装备组合的最终属性,先试每件宝物、同套装两件组合和整套种子,再扩展小束候选,固定 320 次查询上限,按残差排序给出两个示例。无概率,搜索不完整。

结果

  • 合成反例:用公开规则生成英雄攻/防/法强/知识/魔法上限 5/18/10/10/100。最初 194 次搜索漏掉“白骨靴子 + 胸腔盔甲”,最小残差 3;加入同套装两件种子后,302 次查询找回这组零差值解释。第二候选“几丁质盾”仍差 3 攻击,标为未解释差值。这是参与开发的合成例子,不是独立准确率,也不证明唯一性。
  • 合成场景分:5 天使对 40 活化盔甲得 +24.502 分,只用于核对算式与显示。
  • 测试:原上下文版本 Game AI/State Estimation 全量 6243 项、Reference 484 项、Integration 1235 项通过;build v1 核心完整 6262 项通过;build v2 后预测与 Game AI 6290 项、Reference 488 项、Integration 1235 项通过,最终聚焦 54 项通过。界面在宽窄窗口下无横向溢出。

失败与负结果

  • 首版装备搜索漏掉了同套装组合,靠扩展候选种子修复(原失败结果保留)。
  • build v1 的一次串行核心测试未完成即中止,记录保留,随后 8 个 worker 完整重跑通过;未完成的运行不计为通过。
  • 在真实录像对照中,两局英雄未知保持不搜索;一个候选的原搜索差 1 攻击,用原 320 次预算的剩余空间找到两组零差值解释,未增加预算、未确认装备真值。

局限

  • 综合分未校准;英雄属性未自动叠加;不同时间的面板不能当成同一时刻的完整战场。
  • 魔耗、装备与伤害的联合推断未接入;兵种基础资料仍标 0.80.49 版本,未完成最新安装版本的全部核准。
  • 共享主窗口中技能区与兵种条仍有重叠,未在本轮修复。

结论与下一步

分析窗口与两层装备推断已接入 Battle Notes,可作为条件参考。完整技能、装备、伤害的联合推断与实战校准仍待完成。