1. 变幻自如不是“每招白送加成”
甲贺忍蛙的变幻自如、闪焰王牌的自由者,会在使用招式前改变自身属性,而且每次上场只能触发一次。变成冰属性后,下一次受到攻击时也必须按冰属性承受克制。不能攻击时穿冰甲,挨打时又偷偷穿回原来的水和恶属性。换招式不代表能再次触发;换下再上场则需要重新判断。
查看这款非官方工具的代码,招式有机会获得属性一致加成,但战斗记录没有单独保存当前属性和是否已触发。伤害计算拿到的仍是宝可梦原始属性。这是代码结构中能直接指出的缺口,不等于已经复现所有线上操作。
2. 普通点击里藏着离谱问题
选出栏里把甲换成乙,新的宝可梦可能继承原来位置的剩余体力、异常状态甚至道具,同时濒死标记被清除。原来只剩25%体力且被灼伤,换个名字之后伤和血一起搬家。甚至可能出现体力为0却没有濒死的矛盾状态。
毒菱的判断先检查英文名字里包含的短词Spikes,导致毒菱与撒菱的层数混淆。破壳只记录攻击、特攻和速度的提升,漏掉防御和特防下降。一段读取战斗消息的代码会把“0%”当作失败值退回“100%”;普通对战是否会真的传来这段文字还要验证。
3. 图鉴档案不是正在发生的战斗
代码中还可以看到:仅凭超进化石就提前用超进化后的数值计算;明确选“没有道具”却回到模板道具;已经选了无天气,当前宝可梦的特性又把天气推断出来。黏黏网是换入时引发速度变化,而不是网还在就持续施加一次扣速。谜拟丘的画皮是否破裂,也不能靠体力是否满格推断。
4. 先分清记录,再考虑增加按钮
应分别存储原始属性和当前属性、原始特性和当前特性、特性是否失效、这次上场是否已改变属性、当前形态、道具未知或没有或已使用、能力升降与场地剩余回合。灼伤和替身可以并存,不应塞进一个互斥选项。
界面平时只显示体力、状态、招式、道具就好,复杂条件可以展开。比较多个招式时,要为每个候选复制同一份战场;否则先算冰招改变的属性,会污染后面火招的结果。
5. 卡顿可能来自反复计算
一次推荐会反复算同一个对局的招式伤害、击倒概率、反击和先后手。生成新配置时,也会增加共用数据并重建计算结果。在允许的最大比较设置中,60种选出×60种选出×每组50场,一组队伍最多有18万场。这只是配置上限,不能说日常每次都在跑。
同一战局同一招式只算一次,输入改变才重算;大型计算设置次数与时间限制,能取消且不堵住输入。还应测量搜索结果渲染、频繁保存、过期计算覆盖新页面等。本文没有完成真实设备的速度测试。
6. 显示胜率不等于真人胜率
自动对战使用预设策略和随机选择,不是每次都能找出最优反击的高手。代码还可能把没有打完的战斗算作平局。自动对战胜率、伤害范围、真人比赛战绩必须分开标注。
多段攻击也有差别:一个页面按每段独立的随机伤害计算,另一条推荐路径却把同一序号的伤害配对相加。最高和最低伤害一样,击倒概率仍可能算错。
7. 注册了招式名,不代表效果全部完成
测试要覆盖变属性后的抗性、特性替换和压制、超进化时点、先制招式、天气变化、随速度变化的威力、多次命中、替身、气势披带、道具消耗、上场时才发生的效果。当前规则不允许的内容,应写明规则范围,而不是假装支持。
按照初始状态→出招→新状态→受伤→换下→再上场的顺序验证;空输入、0、负数、重复道具、连续修改也要试。
8. 建议的修复顺序
先修换人时体力和异常状态穿越,再把当前属性、特性、形态、道具和能力变化存对,然后修毒菱、破壳、行动顺序和多段攻击概率,最后减少重复计算并实测速度。
这是截至2026年10月9日的代码审查和待测风险,不是全部网页功能都已实测通过的报告。选最强队伍之前,至少保证同一只宝可梦在计算里不会分身。
- 模拟器状态处理: https://github.com/akatsuki8754-source/mendoi-apps/blob/main/src/scripts/pokemonChampionsLab.ts
- 伤害规则: https://github.com/akatsuki8754-source/mendoi-apps/blob/main/src/lib/pokemonChampionsMechanics.ts
- 多段攻击: https://github.com/akatsuki8754-source/mendoi-apps/blob/main/src/lib/pokemonChampionsDamageView.ts
- 大量对战: https://github.com/akatsuki8754-source/mendoi-apps/blob/main/src/workers/pokemonChampionsSimulation.worker.ts
- 官方规则: https://news.pokemon-home.com/ja/page/816.html
