Skip to content

函数: solveJudgementLimit()

ts
function solveJudgementLimit(
   noteCounts, 
   target, 
   options): 
  | JudgementLimitSolution
  | null;

定义于: solver.ts:126

求一种非 Critical Perfect 判定在已有判定基础上还能出现多少个。

省略 existingJudgements 时得到理论单项容错;传入已有 GREAT / GOOD / MISS 后,得到 实际剩余容错。新增目标判定以外的尚未分配 Note 均按 Critical Perfect 计算。

参数

参数类型描述
noteCountsPartial<ChartNoteCounts>谱面各 Note 类型物量
targetJudgementTarget需要求剩余容错的 Note 类型与判定
optionsJudgementLimitOptions已有判定与成绩约束

返回

| 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)