card-learner
一个融合艾宾浩斯遗忘曲线学习法与抽卡玩法的趣味Web应用
学习分心怎么办?当然一边分心一边学习,比番茄钟好用的学习工具!
🤖 AI 辅助开发
本程序在开发过程中使用了 DeepSeek AI 助手进行辅助:
- 📝 代码生成
- ⚡ 优化建议
- 🔍 问题排查
- 🏗️ 架构设计
- 📚 文档编写

📖 项目简介
“趣味学习助手 - 抽卡大乐透” 是一个将学习管理与抽卡游戏相结合的创新性Web应用。用户通过学习积累“通量”货币,然后使用通量进行抽卡,有机会赢取更多通量。应用基于艾宾浩斯遗忘曲线模拟记忆值的变化,让学习过程更加科学有趣,最重要的是,无需数据库(比较没打算是大规模使用)
✨ 设计理念
- 游戏化学习:将枯燥的学习过程转化为有趣的游戏体验
- 科学记忆:基于艾宾浩斯遗忘曲线,真实模拟记忆规律
- 风险与回报:抽卡机制带来刺激感,平衡学习与娱乐
- 个性化定制:丰富的参数设置,适应不同学习习惯

🎯 核心功能
👑 管理员系统
本程序内置强大的管理员后台,方便进行全局配置和用户管理:
- 登录方式:访问
/admin.php进入管理员登录页 - 默认账号:
admin - 默认密码:
123admin(首次登录后请及时修改)
管理员功能
| 功能模块 | 具体功能 |
|---|---|
| 🎰 卡池管理 | 修改五大卡池的消耗通量、奖励范围、中奖概率、颜色标识 |
| ⚙️ 全局参数 | 调整遗忘速率、学习增益、通量获得/消耗速率等核心参数 |
| 👥 用户管理 | 查看用户列表、重置用户密码、禁用/启用用户账号 |
| 📊 数据统计 | 查看全站抽卡统计、活跃用户、通量总量等数据 |
| 🔒 安全设置 | 修改管理员密码、设置登录IP限制(可选) |
🧠 记忆管理系统
基于艾宾浩斯遗忘曲线公式:记忆值 = 初始值 × (1 - 遗忘速率 × log10(小时数))
- 记忆值:0-100% 的动态数值,随时间自然衰减
学习模式:
- 📚 单纯学习:每秒增加记忆值(可自定义增益)
- 📝 背题模式:每秒增加记忆值 + 获得通量
- ✏️ 刷题助手:随机生成题数,同时增加记忆值和通量
- 休息模式:记忆值按遗忘曲线衰减,消耗通量
- 离线计算:登录时自动计算离线期间的变化
🎰 抽卡大乐透系统
五大卡池
| 卡池 | 消耗通量 | 奖励范围 | 中奖概率 | 颜色 |
|---|---|---|---|---|
| 🎴 普通卡池 | 10 | 1-5 | 60% | 灰色 |
| ✨ 稀有卡池 | 50 | 6-20 | 25% | 蓝色 |
| 🌟 史诗卡池 | 200 | 21-50 | 10% | 紫色 |
| 💫 传说卡池 | 500 | 51-200 | 4% | 橙色 |
| 👑 神话卡池 | 1000 | 201-500 | 1% | 粉色 |
以上参数均可通过管理员后台自定义修改
特殊事件
- ✨ 双倍奖励:5%概率获得双倍通量
- 🎰 超级大奖:1%概率获得10倍通量
- 🎁 保底机制:最低获得1通量
统计功能
- 总抽卡次数
- 总花费通量
- 总获得通量
- 净收益计算
- 抽卡历史记录
- 各卡池抽卡次数
👤 个人管理面板
记忆参数设置
- 遗忘速率:控制记忆衰减速度(默认0.56)
- 刷题记忆增益:每刷一题增加的记忆值(默认0.5%)
- 单纯学习增益:每秒增加的记忆值(默认0.008%/s)
- 背题模式增益:每秒增加的记忆值(默认0.012%/s)
通量设置
- 每秒增加通量:背题时通量增长速度(默认0.2/s)
- 每秒消耗通量:休息时通量消耗速度(默认1.0/s)
数据管理
- 手动修改学习时长、通量、记忆值
- 清空记忆曲线历史
- 清空抽卡记录
- 重置抽卡统计
危险操作
- 永久注销账号(需输入DELETE确认)
📊 实时监控
- 学习时长:实时计时,显示今日进度
- 通量显示:千进制格式化(k、M、G)
- 记忆值:实时更新,带等级描述
- 记忆曲线图表:可视化最近50次变化
- 抽卡统计:实时更新的抽卡数据
🎮 使用指南
新手入门
- 注册账号:点击“注册”标签,填写用户名和密码
- 初始资金:注册赠送100通量
- 了解界面:熟悉四个主要数据卡片
- 尝试抽卡:从普通卡池开始试手气
管理员入门
- 登录后台:访问
/admin.php,使用默认账号密码登录 - 修改密码:首次登录后立即修改管理员密码
- 配置参数:根据需求调整卡池和游戏参数
- 管理用户:查看用户列表,处理用户问题
进阶玩法
高效学习策略
- 开启背题模式:同时获得记忆值和通量
- 使用刷题助手:随机生成题数,获得额外收益
- 平衡学习与休息:避免记忆值过低
抽卡策略
- 保守型:专注普通卡池,稳定收益
- 进取型:尝试高级卡池,追求高回报
- 混合型:根据通量余额动态选择
参数调优
根据个人学习习惯调整:
- 遗忘速率:记忆力好的用户可调低
- 学习增益:学习效率高的用户可调高
- 通量速率:平衡学习和休息节奏
⚙️ 技术细节
核心算法
- 艾宾浩斯遗忘曲线:根据经过的小时数计算记忆保持率,公式基于对数函数
- 记忆值变化计算:综合考虑遗忘衰减和学习增益,确保记忆值在0-100%范围内
- 离线时间计算:记录最后活动时间,登录时自动计算离线期间的变化
数据存储
- 用户列表:加密存储用户账户信息
- 用户数据:每个用户独立文件,JSON格式存储
- 管理员配置:独立配置文件存储全局参数
- 安全防护:文件头部添加防护代码,防止直接访问
安全特性
- 密码加密存储
- 输入数据过滤
- Session会话管理
- 管理员登录验证
- 敏感操作日志记录
🎨 界面展示
主要界面
- 登录/注册页:简洁的双标签切换界面
- 主仪表盘:四个实时数据卡片
- 抽卡区:五大卡池展示,带颜色标识
- 学习控制区:模式切换按钮
- 个人管理面板:多标签设置界面
- 管理员后台:独立的参数配置和用户管理界面
交互特性
- 实时数据更新
- 抽卡结果弹窗动画
- 进度条动态变化
- 响应式设计,支持移动端
🔧 自定义配置
可配置参数
- 卡池参数:卡池名称、消耗通量、奖励范围、中奖概率、颜色
- 特殊事件:双倍奖励概率、超级大奖倍率、保底机制
- 学习参数:遗忘速率、各类学习模式的增益值
- 通量参数:每秒获得/消耗通量
- 管理员参数:后台登录密码、访问权限等
默认参数参考
- 遗忘速率:0.56
- 初始通量:100
- 单纯学习增益:0.008%/s
- 背题模式增益:0.012%/s
- 背题通量获得:0.2/s
- 休息通量消耗:1.0/s
- 管理员账号:admin
- 管理员默认密码:123admin
🚀 部署教程
环境要求
- PHP 7.4 或更高版本
- Web服务器(Apache/Nginx)
- 文件读写权限
部署步骤
- 下载源码:从GitHub仓库下载或克隆
- 上传文件:将全部文件上传到网站目录
- 设置权限:确保
data/目录有读写权限(777) - 访问测试:通过浏览器访问网站首页
- 管理员后台:访问
/admin.php登录管理
文件结构
card-learner/
├── index.php # 主程序文件
├── admin.php # 管理员后台
├── data/ # 数据目录
│ ├── users.php # 用户列表
│ ├── config.php # 管理员配置文件
│ └── user_data/ # 用户数据文件
└── README.md # 说明文档
安全建议
- 首次登录管理员后台后立即修改默认密码
- 定期备份
data/目录下的所有文件 - 如非必要,不要将管理员账号密码告知他人
- 考虑设置IP访问限制(可选)
🤝 贡献指南
欢迎贡献代码、报告问题或提出新想法!
- Fork 项目
- 创建功能分支
- 提交更改
- 推送到分支
- 开启 Pull Request
开发规范
- 遵循编码规范
- 保持代码注释完整
- 确保向后兼容
- 更新相关文档
📝 更新日志
[1.0.0]
新增
- 完整的用户注册登录系统
- 基于艾宾浩斯曲线的记忆管理系统
- 五大卡池抽奖系统
- 个人管理面板
- 实时数据同步
- 管理员后台系统
- 卡池参数在线修改
- 用户管理功能
👨💻 作者
🙏 致谢
- 艾宾浩斯遗忘曲线理论
- DeepSeek AI 辅助开发
如果这个项目对你有帮助,请给一个⭐️!