Files
chatroom/GAMES_TODO.md

109 lines
5.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 🎮 聊天室游戏开发进度
> 更新时间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**:骰子改数字方块(跨平台);中奖/未中奖卡片重设计