函数: solveJudgementLimit()
ts
function solveJudgementLimit(
noteCounts,
target,
options):
| JudgementLimitSolution
| null;定义于: solver.ts:126
求一种非 Critical Perfect 判定在已有判定基础上还能出现多少个。
省略 existingJudgements 时得到理论单项容错;传入已有 GREAT / GOOD / MISS 后,得到 实际剩余容错。新增目标判定以外的尚未分配 Note 均按 Critical Perfect 计算。
参数
| 参数 | 类型 | 描述 |
|---|---|---|
noteCounts | Partial<ChartNoteCounts> | 谱面各 Note 类型物量 |
target | JudgementTarget | 需要求剩余容错的 Note 类型与判定 |
options | JudgementLimitOptions | 已有判定与成绩约束 |
返回
| JudgementLimitSolution | null
最大剩余容错方案;已有判定已违反约束时返回 null
抛出
物量为空、已有判定超过物量、约束越界或目标判定非法
示例
已有失误后的剩余容错
ts
const solution = solveJudgementLimit(
{ tap: 10, hold: 0, slide: 0, touch: 0, break: 0 },
{ noteType: "tap", judgement: "great" },
{
minimumAchievement: 90,
existingJudgements: { tap: { great: 2 } },
},
);
solution?.remainingCount; // 3(最终共 5 个 GREAT)