Skip to content

@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一套完整判定方案的成绩与约束检查结果。
BreakJudgementBreak 中可作为求解目标的非 Critical Perfect 判定。
JudgementConstraintViolation未满足的成绩约束。
JudgementTarget待求解的 Note 类型与判定。
StandardJudgement普通 Note 中可作为求解目标的非 Critical Perfect 判定。
StandardNoteType非 Break 的普通 Note 类型。
JUDGEMENT_TARGETS所有可查询的非 Critical Perfect 单项目标。
evaluateJudgementPlan检查一套任意混合判定是否满足成绩约束。
solveJudgementLimit求一种非 Critical Perfect 判定在已有判定基础上还能出现多少个。
solveJudgementLimits生成所有非 Critical Perfect 判定的独立剩余容错表。