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。
类型别名
| 类型别名 | 描述 |
|---|---|
| DxStar | DX 分数星级 0–5(与游戏内档位一致) |
函数
| 函数 | 描述 |
|---|---|
| calculateDxRating | 计算游戏内展示用的单曲 DX Rating(向下取整)。 |
| dxMaxFromNoteTotal | 由谱面物量 total 得到 DX 满分。 |
| dxRatingCoefficient | 按达成率取单曲 DX Rating 系数(官方分段表)。 |
| dxScorePercentage | DX 分相对满分的百分比。 |
| dxStarFromScore | 由 DX 分与满分推导 0–5 星。 |
| minimumAchievementForRate | 某评级档的最低达成率(百分数)。 |
| normalizeAchievement | 将达成率统一为百分数。 |
| parseLevelString | 将 level 文案解析为近似定数。 |
| rateFromAchievement | 由达成率推导评级码(sssp … d)。 |
| requiredLevelValue | 反推达到目标单曲 Rating 所需的最低定数,向上取整到 0.1。 |
参考
calculateAchievement
重新导出 calculateAchievement
calculateChartDxScore
ChartNoteCounts
重新导出 ChartNoteCounts
