本项目通过使用官方公示的抽卡概率,针对用户需要的角色共鸣链数量与专武数量,进行一百万次(可调节)蒙特卡洛方法的抽卡模拟,计算最终达到目标所需要的抽数,最后生成概率统计图(包括频率分布直方图与累积概率折线图),并标出期望、众数、模拟最大抽卡数、理论最大抽卡数,供用户做抽卡规划。
底层使用 Numba 的 njit 实现即时编译与并行计算,突破 Python 原生性能瓶颈,实现百万级模拟的秒级响应。
已集成余波珊瑚兑换共鸣链机制,抽卡模拟将始终采用最优策略计算所需抽数:
- 抽出角色本体
- 抽取目标数量的专武
- 继续抽取角色共鸣链,逐抽检测珊瑚能否兑换共鸣链。
项目将结合用户现有的四星角色链数与常驻五星角色链数,计算抽卡过程中的珊瑚产出。故相关内容需要手动配置。
将以下内容根据用户情况填入项目根目录下的gacha_config.json(数字代表共鸣链数量,-1代表未获得)
{
"rate_up_4stars": [
"炽霞",
"丹瑾",
"卜灵"
],
"standard_5stars": {
"凌阳": -1,
"安可": -1,
"卡卡罗": 1,
"鉴心": -1,
"维里奈": 0
},
"4stars": {
"散华": 4,
"白芷": 3,
"釉瑚": 2,
"炽霞": 0,
"莫特斐": 2,
"渊武": 4,
"灯灯": 4,
"泱泱": 1,
"秋水": 3,
"桃祈": 2,
"丹瑾": 0,
"卜灵": -1
}
}