原神抽卡模拟器 · 安卓版发布:能抽卡的「点名器」,还带商品抽奖和谢谢惠顾
一个能装进手机、离线可用、还能当门店促销工具用的原神风格抽卡模拟器。
如果你在找「抽人」「抽奖」的小工具——比如年会点名、社团分配、门店促销抽奖——那这个项目可能正好合你胃口。
它基于知名的原神抽卡模拟器 Genshin-Impact-Wish-Simulator,由 cyanial 二次开发成「原神点名器」。我在它的基础上做了一版安卓原生应用,并新增了商品抽奖池功能。
一、先说原项目
cyanial/genshin-impact-picker 是一个网页版应用,把原神的祈愿机制改造成了「点名 / 抽人」工具:
- 使用原神官方的卡池界面、立绘、音效、动画
- 按原神真实概率抽卡(含保底、大小保底、武器定轨)
- 支持上传人员名单,抽到谁一目了然
- 收录 1.0 ~ 5.2 共 37 个版本的卡池
- 12 种语言
它作为网页应用已经很完整,如果你想直接在浏览器里用,优先去原仓库:
- 原项目地址:https://github.com/cyanial/genshin-impact-picker
需要说明的是,原仓库目前已归档(只读),作者不再接受新的提交,但代码和文档仍然可以正常查看和使用。
二、这一版做了什么
lfl171/yuanshen_anzuo_choujiang 是在原项目基础上的安卓应用版,主要加了三件事:
| 📱 安卓 App | 打包成原生 APK,脱离浏览器运行,完全离线,装上就能用 |
| 🎁 商品抽奖池 | 新增一种「抽商品」卡池:可配置商品、库存、中奖率,带「谢谢惠顾」 |
| 🎲 点名 + 抽奖二合一 | 原有的人员名单抽人保留,和商品抽奖并存 |
1. 真正的原生安卓应用
不是「网页套壳收藏夹」,而是用 Capacitor 打包的正式安卓应用:
- 完全离线:所有立绘、音效、字体、动画视频都打进安装包,不联网也能玩
- 支持 Android 6.0 到 Android 15(minSdk 23 / targetSdk 35)
- 适配全面屏、刘海屏、状态栏与导航栏,界面不会被遮挡
- 返回键「再按一次退出」,符合安卓习惯
2. 商品抽奖池(重点功能)
这是原项目没有的能力,专为门店促销、商场活动、直播抽奖这类场景设计。
在「商品抽奖」卡池里,你可以自由添加商品,给每件商品设置权重和库存,并且:
- 中奖率实时显示,改一个数字立刻重算
- 库存实时扣减,抽走一件少一件
- 库存为 0 的商品中奖率自动变 0,它让出的份额自动分给其他商品和「谢谢惠顾」
- 支持上传商品图,抽中时商品图片直接显示在卡片上
- 所有改动即时保存,不需要手动点保存
3. 人员名单抽人
保留原项目的能力:上传一个纯文本名单,点一次抽一位,名字会用原神字体竖排写在卡面上。
三、商品抽奖的概率是怎么算的
这是这一版最核心的设计,规则很简单:
某商品中奖率 = 该商品权重 ÷(有库存商品的权重之和 + 谢谢惠顾权重)
关键点在于分母只统计还有库存的商品。举个实际例子:
假设你设置了一等奖 1 件、二等奖 2 件、三等奖 3 件,谢谢惠顾权重 100:
| 刚配置好 | 23.8% | 4.8% | 23.8% | 47.6% |
| 一等奖被抽走 | 40.0% | 0.0% | 40.0% | 20.0% |
| 全部抽完 | 100% | 0.0% | 0.0% | 0.0% |
一等奖抽完后,它的中奖率立刻变成 0,让出的份额按权重分给了剩下的商品和谢谢惠顾——不需要你手动去改其他商品的概率。
权重可以理解成「相对份额」,填 100/200 还是 1/2 效果完全一样,不用凑成 100%。
四、下载与安装
安装包(网盘)
- 链接:https://pan.baidu.com/s/18A2SCL1iiEmTszHYIAPbzw?pwd=t678
- 提取码:t678
- 文件名:app-debug.apk
安装步骤
安装包约 139 MB,因为所有立绘、音效、动画视频都打包在里面,所以体积偏大——换来的是完全离线可用。
源码
- 仓库地址:https://github.com/lfl171/yuanshen_anzuo_choujiang.git
- 构建、打包、签名说明都写在仓库的 ANDROID.md 里
五、怎么用
抽商品(门店促销场景)
抽人(点名场景)
小技巧
- 商品池的 「补货到设定数量」 可以把库存一键恢复,适合活动多轮使用
- 「清空商品池」 可以快速重置(需点两次确认,防误触)
六、一些细节
适配了 Android 15 的强制全面屏
Android 15 对目标 SDK 35 的应用会强制开启全面屏,界面会延伸到状态栏下面。如果不处理,顶部的按钮会被状态栏盖住、点都点不到。这一版专门处理了这个问题,并且沿用了系统栏避让方案,在 Android 6 ~ 15 上都不会被遮挡。
商品图会自动压缩
上传的商品图会被自动缩放到 480px 并转成 JPEG,避免几张图就把手机的本地存储占满。如果存储真的写满了,界面会明确提示「保存失败」而不是悄悄丢数据。
概率逻辑有单元测试
商品的概率计算和库存扣减被抽成了不依赖浏览器的纯函数,配了 13 组单元测试,其中包括 20 万次蒙特卡洛模拟来校验实际抽奖频率是否符合理论概率。跑一遍:
npm run test:prize
数据存在本机
抽卡记录、名单、商品池都存在手机本地,不会上传任何服务器。
七、已知限制
- 安装包 139 MB,超出 Google Play 单 APK 100 MB 限制,适合自己安装或直接分发;如果要上架需改打 AAB
- 名单抽卡目前不写入抽卡历史(原项目已有的行为,抽卡本身不受影响)
- 商品池数据存在本地,换手机需要自己重新配置(暂未做导出/导入)
八、致谢与许可
这个项目能存在,完全建立在前人的工作上:
- 原始模拟器:Genshin-Impact-Wish-Simulator(MIT)
- 点名器二次开发:cyanial/genshin-impact-picker(CC BY-NC-SA 4.0)
本项目沿用原项目的 CC BY-NC-SA 4.0 许可,禁止商业用途。所有原神相关的美术、音频资源版权归米哈游所有,本项目仅供学习交流。
最后
如果你觉得有用,欢迎 Star 支持一下:
- ⭐ 本项目:https://github.com/lfl171/yuanshen_anzuo_choujiang.git
- ⭐ 原项目:https://github.com/cyanial/genshin-impact-picker
有问题或想加功能,欢迎在仓库提 Issue。



