这是一个用于模拟特定抽卡规则下获取当期UP角色所需抽数的Python脚本。
- 基础概率: 6星角色基础掉率为 0.8%。
- 保底机制:
- 小保底: 80抽必出6星。
- 软保底: 从第65抽开始,6星概率每抽增加5%。
- 大保底 (Spark): 当前卡池累计120抽未获得UP角色时,直接赠送UP角色,并重置80抽保底计数。
- 30抽额外奖励: 当累计抽数达到30抽时,获得一次额外的10连抽。这10抽不计入大小保底,若出货不消耗小保底(除非出的是UP,则游戏结束)。
- UP机制: 抽到6星时,50%概率为当期UP角色。
- 歪卡机制: 如果歪了(未获得当期UP),有 2/7 的概率该6星为往期限定角色。
- 继承规则:
- 80抽保底计数可继承(支持输入垫抽数)。
- 120抽累计计数不继承(每次从0开始)。
运行 simulate.py 脚本:
python3 simulate.py [已垫抽数]例如:
python3 simulate.py 30运行 simulate_with_plot.py 脚本:
python3 simulate_with_plot.py [已垫抽数]该脚本会在当前目录下生成一个名为 simulation_result_pity_[垫抽数].png 的图片文件,展示:
- Pulls Distribution (直方图): 每个抽数有多少人出货。
- Cumulative Probability (CDF): 前N抽累计有多少比例的人出货。
- Luck Classification (饼图): 运气分布(极欧、正常、吃井等比例)。
- Key Statistics (文本): 关键数据摘要。
注:为了确保在所有环境下图表文字都能正常显示,图表中的标签使用英文,但终端输出仍为中文。
运行抽卡模拟与可视化的 Web 界面。
推荐:使用项目内虚拟环境(macOS Homebrew Python 默认不允许全局 pip install,否则会报 No module named streamlit 或 externally-managed-environment):
cd /path/to/GambleCalculator
python3 -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -r requirements.txt
python -m streamlit run app.py启动后在浏览器打开 **http://localhost:8501**。
安装全部依赖(建议在激活 .venv 后执行):
pip install -r requirements.txt或仅安装图表/脚本所需:numpy、matplotlib、pandas;Web 应用还需 streamlit。