Files
chatroom/GAMES_TODO.md

5.4 KiB
Raw Blame History

🎮 聊天室游戏开发进度

更新时间2026-03-01


已完成

🎲 百家乐Baccarat

  • 类型:定时自动开局(调度器每分钟检查,间隔可配置)
  • 数据库baccarat_rounds + baccarat_bets
  • 模型BaccaratRound / BaccaratBet
  • 队列 JobOpenBaccaratRoundJob (开局) + CloseBaccaratRoundJob (摇骰结算)
  • 事件BaccaratRoundOpened / BaccaratRoundSettledPresenceChannel 广播)
  • 控制器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
  • 模型SlotMachineLog8种带权重图案、判奖逻辑
  • 控制器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
  • 队列 JobDropMysteryBoxJob(投放箱子 + 公屏广播暗号 + 定时关闭)
  • 控制器:MysteryBoxController/mystery-box/claim 领取接口)
  • 调度器:routes/console.php 按配置间隔自动投放
  • 后台:管理员可手动投放(管理员面板新增"投放箱子"按钮)
  • 前端:无需弹窗,用户直接在聊天框发送暗号(系统给的口令)领取
  • 货币来源:CurrencySource::MYSTERY_BOX
  • 特殊类型普通箱5002000/ 稀有箱500020000/ 黑化箱(陷阱,倒扣)
  • 配置参数:auto_drop_enabled / auto_interval_hours / claim_window_seconds / 各奖励范围 / trap_chance_percent

🐎 赛马竞猜Horse Racing

核心玩法:定时举办赛马,用户押注马匹,按注池赔率结算,跑马过程 WebSocket 实时播报

待开发清单:

  • 数据库:horse_races(场次)+ horse_bets(下注记录)
  • 模型:HorseRace / HorseBet
  • 队列 JobOpenHorseRaceJob(开赛广播)+ RunHorseRaceJob(每秒播报马匹进度)+ CloseHorseRaceJob(结算)
  • 事件:HorseRaceOpened / HorseRaceProgress / HorseRaceSettledPresenceChannel
  • 控制器: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. 百家乐广播频道ChannelPresenceChannel,解决前端收不到 WebSocket 事件
  2. 百家乐余额检查$user->gold$user->jjb(字段名错误)
  3. 老虎机积分日志:普通中奖/诅咒发私信通知三7全服广播
  4. 老虎机FAB:支持拖动 + localStorage 位置持久化
  5. 星海小博士随机事件:改走 UserCurrencyService.change(),补写流水日志
  6. 百家乐结算UI:骰子改数字方块(跨平台);中奖/未中奖卡片重设计