Files
chatroom/GAMES_TODO.md

109 lines
5.4 KiB
Markdown
Raw Normal View History

# 🎮 聊天室游戏开发进度
> 更新时间2026-03-01
---
## ✅ 已完成
### 🎲 百家乐Baccarat
- **类型**:定时自动开局(调度器每分钟检查,间隔可配置)
- **数据库**`baccarat_rounds` + `baccarat_bets`
- **模型**`BaccaratRound` / `BaccaratBet`
- **队列 Job**`OpenBaccaratRoundJob` (开局) + `CloseBaccaratRoundJob` (摇骰结算)
- **事件**`BaccaratRoundOpened` / `BaccaratRoundSettled`PresenceChannel 广播)
- **控制器**`BaccaratController``/baccarat/current` / `/baccarat/bet` / `/baccarat/history`
- **前端**`chat/partials/baccarat-panel.blade.php`(倒计时/押注/骰子动画/趋势)
- **货币来源**`CurrencySource::BACCARAT_BET` / `BACCARAT_WIN`
- **后台配置**`game_configs` 表,管理员可配置开关/间隔/赔率/押注范围
### 🎰 老虎机Slot Machine
- **类型**:玩家随时主动触发(即时游戏)
- **数据库**`slot_machine_logs`
- **模型**`SlotMachineLog`8种带权重图案、判奖逻辑
- **控制器**`SlotMachineController``/slot/info` / `/slot/spin` / `/slot/history`
- **赔率**三7×100全服广播/ 三钻×50 / 三同×10 / 两同×2 / 三骷髅诅咒(扣双倍)
- **聊天通知**中奖发私信通知三7全服公屏广播
- **前端**`chat/partials/slot-machine.blade.php`(三列滚轮动画/逐列停止/可拖动FAB
- **货币来源**`CurrencySource::SLOT_SPIN` / `SLOT_WIN` / `SLOT_CURSE`
- **后台配置**`game_configs` 表,可配置每次消耗/每日次数上限/各赔率
---
## 🕐 待开发(明天继续)
### 📦 神秘箱子Mystery Box
**核心玩法**:系统定时或管理员手动投放神秘箱,最快发送暗号的用户开箱获奖
**待开发清单:**
- [ ] 数据库:`mystery_boxes`(箱子记录)+ `mystery_box_claims`(领取日志)
- [ ] 模型:`MysteryBox` / `MysteryBoxClaim`
- [ ] 队列 Job`DropMysteryBoxJob`(投放箱子 + 公屏广播暗号 + 定时关闭)
- [ ] 控制器:`MysteryBoxController``/mystery-box/claim` 领取接口)
- [ ] 调度器:`routes/console.php` 按配置间隔自动投放
- [ ] 后台:管理员可手动投放(管理员面板新增"投放箱子"按钮)
- [ ] 前端:无需弹窗,用户直接在聊天框发送**暗号**(系统给的口令)领取
- [ ] 货币来源:`CurrencySource::MYSTERY_BOX`
- [ ] 特殊类型普通箱500~2000/ 稀有箱5000~20000/ 黑化箱(陷阱,倒扣)
- [ ] 配置参数:`auto_drop_enabled` / `auto_interval_hours` / `claim_window_seconds` / 各奖励范围 / `trap_chance_percent`
---
### 🐎 赛马竞猜Horse Racing
**核心玩法**:定时举办赛马,用户押注马匹,按注池赔率结算,跑马过程 WebSocket 实时播报
**待开发清单:**
- [ ] 数据库:`horse_races`(场次)+ `horse_bets`(下注记录)
- [ ] 模型:`HorseRace` / `HorseBet`
- [ ] 队列 Job`OpenHorseRaceJob`(开赛广播)+ `RunHorseRaceJob`(每秒播报马匹进度)+ `CloseHorseRaceJob`(结算)
- [ ] 事件:`HorseRaceOpened` / `HorseRaceProgress` / `HorseRaceSettled`PresenceChannel
- [ ] 控制器:`HorseRaceController`(当前场次/下注/历史)
- [ ] 调度器:按配置间隔开赛
- [ ] 前端:`chat/partials/horse-race.blade.php`(马匹赛道动画/实时进度条/注池赔率显示)
- [ ] 货币来源:`CurrencySource::HORSE_BET` / `HORSE_WIN`
- [ ] 配置参数:`interval_minutes` / `bet_window_seconds` / `race_duration` / `horse_count` / `min_bet` / `max_bet` / `house_take_percent`
---
### 🔮 神秘占卜Fortune Telling
**核心玩法**:每日免费占卜,系统生成玄学签文并给予当日加成;付费可多次
**待开发清单:**
- [ ] 数据库:`fortune_logs`(占卜记录,含签文和当日 buff 效果)
- [ ] 模型:`FortuneLog`
- [ ] 占卜库:预设 50+ 条签文(上上签/上签/中签/下签/大凶签),带对应加成描述
- [ ] 控制器:`FortuneTellingController``/fortune/today` 查今日 / `/fortune/tell` 占卜)
- [ ] 前端:`chat/partials/fortune-panel.blade.php`(卦象动画/签文卡片/今日加成状态)
- [ ] 每日限制免费1次额外次数扣金币
- [ ] Buff 系统(可选扩展):占卜结果影响当日经验/金币获取倍率(需修改自动存点逻辑)
- [ ] 货币来源:`CurrencySource::FORTUNE_COST`
- [ ] 配置参数:`free_count_per_day` / `extra_cost` / 各签概率
---
## 📌 通用待办(所有游戏共用)
- [ ] 后台游戏管理页面(`/admin/game-configs`)显示各游戏实时统计数据
- [ ] 各游戏历史记录在后台可查(管理员视角)
- [ ] 生产环境部署:`php artisan db:seed --class=GameConfigSeeder`(初始化游戏配置)
- [ ] 百家乐/老虎机 全面测试(多用户并发下注)
---
## 🔧 今日已修复的 Bug
1. **百家乐广播频道**`Channel``PresenceChannel`,解决前端收不到 WebSocket 事件
2. **百家乐余额检查**`$user->gold``$user->jjb`(字段名错误)
3. **老虎机积分日志**:普通中奖/诅咒发私信通知三7全服广播
4. **老虎机FAB**:支持拖动 + localStorage 位置持久化
5. **星海小博士随机事件**:改走 `UserCurrencyService.change()`,补写流水日志
6. **百家乐结算UI**:骰子改数字方块(跨平台);中奖/未中奖卡片重设计