Skip to content

函数: inferJudgementDistribution()

ts
function inferJudgementDistribution(
   noteCounts, 
   target, 
options?): Promise<ChartJudgements>;

定义于: packages/judgement-inference/src/inference.ts:139

根据目标达成率、可选 DX 分与判定总数,反推一组满足条件的完整判定分布。

同一成绩通常对应多组判定;返回值只是任意一组经过 @mai-kit/utils 回算验证的可行解, 不代表玩家实际产生的原始判定。精确解失败时默认直接抛错;只有显式开启 findNearestOnFailure 才会额外求最近解。

参数

参数类型描述
noteCountsPartial<ChartNoteCounts>谱面各 Note 类型物量
targetJudgementInferenceTarget必须精确满足的达成率,以及可选 DX 分 / 汇总判定约束
options?JudgementInferenceOptions求解时间与最近解选项

返回

Promise<ChartJudgements>

一组完整的分类型判定

抛出

输入物量、目标或约束非法

抛出

没有返回精确解

抛出

求解器加载或运行失败

示例

反推 10 个 TAP 的一组 90% 判定

ts
const judgements = await inferJudgementDistribution(
  { tap: 10, hold: 0, slide: 0, touch: 0, break: 0 },
  {
    achievement: 90,
    dxScore: 20,
    judgementCounts: { great: 5 },
  },
);

judgements.tap.great; // 5