函数: inferJudgementDistribution()
ts
function inferJudgementDistribution(
noteCounts,
target,
options?): Promise<ChartJudgements>;定义于: packages/judgement-inference/src/inference.ts:139
根据目标达成率、可选 DX 分与判定总数,反推一组满足条件的完整判定分布。
同一成绩通常对应多组判定;返回值只是任意一组经过 @mai-kit/utils 回算验证的可行解, 不代表玩家实际产生的原始判定。精确解失败时默认直接抛错;只有显式开启 findNearestOnFailure 才会额外求最近解。
参数
| 参数 | 类型 | 描述 |
|---|---|---|
noteCounts | Partial<ChartNoteCounts> | 谱面各 Note 类型物量 |
target | JudgementInferenceTarget | 必须精确满足的达成率,以及可选 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