5.4 KiB
5.4 KiB
🎮 聊天室游戏开发进度
更新时间: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)/ 稀有箱(500020000)/ 黑化箱(陷阱,倒扣) - 配置参数:
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
- 百家乐广播频道:
Channel→PresenceChannel,解决前端收不到 WebSocket 事件 - 百家乐余额检查:
$user->gold→$user->jjb(字段名错误) - 老虎机积分日志:普通中奖/诅咒发私信通知;三7全服广播
- 老虎机FAB:支持拖动 + localStorage 位置持久化
- 星海小博士随机事件:改走
UserCurrencyService.change(),补写流水日志 - 百家乐结算UI:骰子改数字方块(跨平台);中奖/未中奖卡片重设计