@mai-kit/judgement-solver
@mai-kit/judgement-solver 将谱面物量、已有判定和成绩目标组合成确定性的判定预算: 可检查任意混合判定、求某一判定的剩余容错,并生成所有判定的独立容错表。
包内使用纯 TypeScript 和 @mai-kit/utils 的统一计分公式,无网络、文件系统、原生 addon 或 WASM;Node 与现代浏览器返回相同结果。
示例
已有失误后的剩余容错
ts
import { solveJudgementLimit } from "@mai-kit/judgement-solver";
const solution = solveJudgementLimit(
{ tap: 10, hold: 0, slide: 0, touch: 0, break: 0 },
{ noteType: "tap", judgement: "great" },
{
minimumAchievement: 90,
existingJudgements: { tap: { great: 2 } },
},
);
console.log(solution?.remainingCount); // 3判定求解
| 名称 | 描述 |
|---|---|
| JudgementConstraints | 判定方案必须满足的成绩约束。 |
| JudgementLimitOptions | 单项目标求解选项。 |
| JudgementLimitSolution | 单项判定剩余容错求解结果。 |
| JudgementPlanEvaluation | 一套完整判定方案的成绩与约束检查结果。 |
| BreakJudgement | Break 中可作为求解目标的非 Critical Perfect 判定。 |
| JudgementConstraintViolation | 未满足的成绩约束。 |
| JudgementTarget | 待求解的 Note 类型与判定。 |
| StandardJudgement | 普通 Note 中可作为求解目标的非 Critical Perfect 判定。 |
| StandardNoteType | 非 Break 的普通 Note 类型。 |
| JUDGEMENT_TARGETS | 所有可查询的非 Critical Perfect 单项目标。 |
| evaluateJudgementPlan | 检查一套任意混合判定是否满足成绩约束。 |
| solveJudgementLimit | 求一种非 Critical Perfect 判定在已有判定基础上还能出现多少个。 |
| solveJudgementLimits | 生成所有非 Critical Perfect 判定的独立剩余容错表。 |
