Skip to content

index ​

@mai-kit/utils 提供 maimai 成绩计算相关的纯函数,支持 Node 和浏览器。

常用 ​

ts
import {
  normalizeAchievement,
  dxMaxFromNoteTotal,
  calculateDxRating,
  rateFromAchievement,
} from "@mai-kit/utils";

normalizeAchievement(1_008_621); // 100.8621
dxMaxFromNoteTotal(761);         // 2283
calculateDxRating(14.5, 100.5);  // 单曲 Rating(游戏内取整)
rateFromAchievement(100.5);      // "sssp"

海报场景下 填 chart.dx_max 仍由 @mai-kit/draw 完成(内部调用本包); 只做公式计算时可以单独安装本包。

包根只导出常用稳定公式;完整判定工具与谱面索引分别见 @mai-kit/utils/judgement、@mai-kit/utils/song。

类型别名 ​

类型别名描述
DxStarDX 分数星级 0–5(与游戏内档位一致)

函数 ​

函数描述
calculateDxRating计算游戏内展示用的单曲 DX Rating(向下取整)。
dxMaxFromNoteTotal由谱面物量 total 得到 DX 满分。
dxRatingCoefficient按达成率取单曲 DX Rating 系数(官方分段表)。
dxScorePercentageDX 分相对满分的百分比。
dxStarFromScore由 DX 分与满分推导 0–5 星。
minimumAchievementForRate某评级档的最低达成率(百分数)。
normalizeAchievement将达成率统一为百分数。
parseLevelString将 level 文案解析为近似定数。
rateFromAchievement由达成率推导评级码(sssp … d)。
requiredLevelValue反推达到目标单曲 Rating 所需的最低定数,向上取整到 0.1。

参考 ​

calculateAchievement ​

重新导出 calculateAchievement


calculateChartDxScore ​

重新导出 calculateChartDxScore


ChartNoteCounts ​

重新导出 ChartNoteCounts


PartialChartJudgements ​

重新导出 PartialChartJudgements