Skip to content

Repository files navigation

抽卡模拟器

这是一个用于模拟特定抽卡规则下获取当期UP角色所需抽数的Python脚本。

规则说明

  1. 基础概率: 6星角色基础掉率为 0.8%。
  2. 保底机制:
    • 小保底: 80抽必出6星。
    • 软保底: 从第65抽开始,6星概率每抽增加5%。
    • 大保底 (Spark): 当前卡池累计120抽未获得UP角色时,直接赠送UP角色,并重置80抽保底计数。
    • 30抽额外奖励: 当累计抽数达到30抽时,获得一次额外的10连抽。这10抽不计入大小保底,若出货不消耗小保底(除非出的是UP,则游戏结束)。
  3. UP机制: 抽到6星时,50%概率为当期UP角色。
    • 歪卡机制: 如果歪了(未获得当期UP),有 2/7 的概率该6星为往期限定角色。
  4. 继承规则:
    • 80抽保底计数可继承(支持输入垫抽数)。
    • 120抽累计计数不继承(每次从0开始)。

使用方法

1. 简单模拟 (仅文本输出)

运行 simulate.py 脚本:

python3 simulate.py [已垫抽数]

例如:

python3 simulate.py 30

2. 生成图表 (包含分布直方图、累积概率曲线和饼图)

运行 simulate_with_plot.py 脚本:

python3 simulate_with_plot.py [已垫抽数]

该脚本会在当前目录下生成一个名为 simulation_result_pity_[垫抽数].png 的图片文件,展示:

  • Pulls Distribution (直方图): 每个抽数有多少人出货。
  • Cumulative Probability (CDF): 前N抽累计有多少比例的人出货。
  • Luck Classification (饼图): 运气分布(极欧、正常、吃井等比例)。
  • Key Statistics (文本): 关键数据摘要。

注:为了确保在所有环境下图表文字都能正常显示,图表中的标签使用英文,但终端输出仍为中文。

3. Web 应用 (Streamlit)

运行抽卡模拟与可视化的 Web 界面。

推荐:使用项目内虚拟环境(macOS Homebrew Python 默认不允许全局 pip install,否则会报 No module named streamlitexternally-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

或仅安装图表/脚本所需:numpymatplotlibpandas;Web 应用还需 streamlit

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages