♠

斗地主

♥

经典三人棋牌游戏

游戏模式
v1.2.52

游戏设置

🔍
基础设置
音频
50%
50%
游戏规则 ⚖️

⚖️ 以上规则在开始游戏后锁定,保证对局公平

游戏变体 ⚖️

⚖️ 变体规则在开始游戏后锁定

AI 行为
视觉
布局
动画与特效
交互操作
辅助功能
面板开关
无障碍
网络
性能与调试
高级 ⚙️
🃏

欢迎来到斗地主!

经典三人扑克游戏 · 1个地主 vs 2个农民

人机对战

记牌器

出牌历史

准备中 快捷键: H提示 P不出 Space出牌
FPS: --
MEM: --
🌐

局域网联机

与好友在同一网络下实时对战

GitHub Pages 仅托管单机游戏。联机时请在房主电脑运行 npm run lan:host,并让所有玩家打开终端显示的局域网地址。

👤
🔑

正在检测本机托管服务...

房间号 -
⚙️

自定义模式

自由设定规则,打造专属对局

🎮 游戏选项

🔧 特殊规则

🧩

残局训练

固定牌局,磨练牌技

0/5
⚔️

极限挑战

特殊规则限制,考验真正牌技

0/10

🎞️ 牌谱工坊

保存、回放与分享精彩对局

🎯 赛季任务

🏆 锦标赛

锦标赛采用积分制,每局结束后按斗地主规则计分。
全部对局结束后按累计总分排名。
锦标赛记录将自动保存到本地。

成就系统

⏸

游戏暂停

按 ESC 继续游戏

📖 斗地主教程

  • 1 欢迎来到斗地主
  • 2 认识牌型
  • 3 牌型大小比较
  • 4 角色与发牌
  • 5 叫分与抢地主
  • 6 出牌规则
  • 7 特殊规则与得分
  • 8 实战演练
  • 9 记牌与读牌
  • 10 进阶技巧与误区
0%

欢迎来到斗地主

中国最受欢迎的扑克游戏

🎉 更新日志

v1.2.52

🛠️ Pages 生产验证与操作、音频竞态修复

  • 🌐 Pages 部署修复:404 返回地址随部署路径生成,自定义域名正确识别静态站点,联机入口立即显示服务限制
  • 🎮 托管与控制栏修复:托管期间保留取消入口,接回后立即恢复按钮,丢弃已取消的 AI 操作,防止旧动画定时器误藏控制栏
  • 🔊 音效与 BGM 修复:修复首次音乐不播放、静音后旧音效恢复和音频销毁竞态;暂停后切回页面不再意外重启音乐
  • 🎛️ 设置与静音修复:自定义局静音持续生效,设置和帮助弹窗隔离牌局快捷键,键盘操作按钮遵循焦点
  • 🏁 残局与大厅修复:修复正式版本丢失残局关卡信息、快速建房信息被覆盖和加入失败提示不可见的问题
  • 📱 残局布局修复:倒计时与目标分开排列,提示按钮恢复点击并增大触控区,操作栏与手牌保持清晰
📚 历史版本
v1.2.51

🛠️ 全模式流程、联机与音画一致性修复

  • 🃏 规则与提示修复:补全癞子、飞机带翼等复杂牌型搜索,特殊炸弹规则在玩家、AI、提示与出牌按钮中保持一致
  • 🎮 全模式流程修复:修复快速重开时旧 AI 操作串入新局、残局身份、挑战时限、自定义预设和锦标赛重置问题
  • 📊 计分与任务修复:区分单局得分与累计比分,正确应用叫分/抢地主底分,个人成就只统计本人表现,任务进度及时保存
  • 🌐 联机同步修复:房主统一校验操作,普通对局分别同步各玩家手牌,重连校验凭证;大厅等待确认,结算不再重复保存
  • ✨ 界面与交互修复:统一页面切换与弹窗关闭按钮的 44px 触控区,修复选牌事件丢失,重开时清理旧出牌区与记牌器状态
  • 🔊 音效与 BGM 修复:挑战音乐与通关结果一致,成就和任务使用短通知音,避免重复胜利提示;重开清理残留音效,自定义遵循全局静音
  • 🎞️ 回放与分享修复:完整保存地主底牌和癞子标记,修复完整牌局分享码超限、导入校验和菜单回放音效
v1.2.50

🛠️ 全面交互与音频稳定性修复

  • 🃏 桌面牌桌重排:手牌按可用高度自适应,控制栏、双方出牌和玩家手牌不再互相遮挡或越界
  • 📱 移动安全区修复:对手牌背完整收拢到视口内,返回与头部图标统一达到 44px 触控尺寸
  • ♿ 结算弹窗修复:五类结果弹窗补齐语义、标题关联、初始焦点和 Tab 环回,并修复连续切换后被旧定时器隐藏的问题
  • 🔊 音频反馈修复:关闭发牌音效后新一局提示保持静音,SFX 音量使用独立试听音,不再依赖倒计时开关
  • 🌐 GitHub Pages 修复:统一由 Actions 发布带仓库子路径的构建产物,补齐 PWA 与 404 校验,并阻止静态站点发起无效联机请求
  • 🧹 交互稳定性修复:移除重复弹窗 ID,Toast 不再额外触发系统提示,并补强多视口、弹窗与音频回归
v1.2.49

📱 移动横屏交互收尾

  • 🤖 玩家信息可见:横屏下记牌器与历史按钮不再遮挡右侧 AI 头像、名称和手牌
  • 👆 触控安全区:工具组移至右下角空白区,保留 44px 触控区并适配设备安全边距
  • 🗂️ 面板展开优化:记牌器和出牌历史从工具栏上方展开,保持在视口内且不压住叫分区
  • 🧪 横屏回归补强:新增玩家信息重叠、触控尺寸与面板边界检查
v1.2.48

🎨 交互音效与部署稳定性修复

  • ✨ 菜单交互修复:入场动画结束后清理内联样式,模式卡片交互不再被覆盖
  • 🔊 静音反馈优化:关闭音效前和重新开启后都会播放有效反馈
  • 🎛️ SFX 开关修复:回合提示与落牌音正确遵循细分音效设置
  • 🚀 Pages 部署修复:CI 补齐 Chromium,修复安全依赖告警并完善 Pages 配置
  • 🧪 回归补强:新增菜单动画、静音反馈和音效分类检查
v1.2.47

🃏 手牌选中层级修复

  • ↕️ 纯垂直选牌:选中牌只向上移动,不缩放或改变原有扇形层级
  • 🪜 层级顺序修复:选中、悬停和键盘聚焦均保留每张牌自身的手牌索引
  • 💡 建议状态兼容:智能剔除提示不再覆盖选中牌的位置与缩放
  • 🎬 入场过渡清理:发牌动画结束后恢复标准交互过渡
  • 🧪 回归补强:新增选中层级、变换矩阵和建议状态优先级检查
v1.2.46

🎨 导航图标与移动体验升级

  • 🧭 统一导航图标:核心模式、工具入口和游戏头部改用一致的线性 SVG 图标,不再依赖跨平台表现不一的系统 Emoji
  • ✨ 模式层级优化:补齐挑战类卡片样式,统一图标容器、箭头与悬停反馈,并移除锦标赛行内样式
  • 📱 移动工具区优化:六个工具入口改为三列网格,增大触控区域并避免标题拥挤换行
  • 🔊 音效状态同步:静音按钮动态切换 SVG 状态,继续同步无障碍标签和按下状态
  • 🌿 状态可读性修复:提高每日挑战文案对比度,并修正完成态与三星态样式类名不匹配
  • 🧪 回归补强:新增图标结构、音效切换、移动端网格尺寸和页面溢出检查
v1.2.45

🔊 音频静音与舒适性修复

  • 🔇 即时静音修复:关闭主音效或 SFX 会停止已经调度的 Web Audio 音频节点,不再残留连音
  • 🛡️ 异步音频防护:AudioContext 恢复期间再次校验开关,避免关闭后迟到播放
  • ♿ 减少动画修复:应用内开关现在同步阻止屏幕震动和全屏闪光
  • 🎚️ 音量反馈升级:滑块显示实时金色进度,并向读屏提供百分比数值
  • 🧹 设置精简:移除尚未实现的头像风格与语言入口,避免无效选项误导
  • 🧪 回归补强:新增音频节点、减少动画和音量可访问性检查
v1.2.44

⌨️ 快捷键帮助与延迟音效修复

  • 🖥️ 帮助层覆盖修复:移除全屏遮罩的错误位移动画,帮助面板重新完整覆盖视口
  • ⌨️ 帮助入口无障碍:快捷键提示支持 Enter/Space 打开,并同步按钮语义和展开状态
  • ♿ 模态焦点管理:打开后聚焦关闭按钮,Tab 不会逃出,关闭后返回原入口
  • 🔇 延迟音效止漏:关闭主音效或 SFX 会立即取消提示、叫分和胜利等已排队尾音
  • 🔊 分类开关同步:叫分与胜利尾音播放前重新检查全局和分类开关
  • 🧪 回归补强:新增帮助层覆盖、键盘焦点及延迟 SFX 生命周期检查
v1.2.43

⌨️ 模态键盘体验与音效分类修复

  • ⏸️ 暂停层语义补全:暂停界面升级为标准 dialog,补齐标题关联和模态属性
  • ⌨️ 键盘焦点约束:暂停、设置、公告和牌风分析的 Tab 焦点保持在当前弹窗内
  • 🎵 暂停 BGM 修复:恢复游戏不再从头重播一次性的胜利或失败音乐
  • 🔊 音效分类纠偏:抢地主、倒计时提示和火箭分别遵循叫分、滴答和炸弹开关
  • ♿ 焦点生命周期修复:暂停时聚焦继续按钮,恢复后准确返回原操作位置
  • 🧪 回归补强:新增 dialog 语义、焦点环、暂停 BGM 和音效分类检查
v1.2.42

⏸️ 暂停设置与音频生命周期修复

  • ⏸️ 暂停设置修复:从暂停层进入设置时牌局继续保持暂停,关闭后回到暂停层和原操作入口
  • ♿ 弹窗焦点修复:公告与牌风分析打开后焦点进入弹窗,关闭后准确返回触发按钮
  • 🎵 BGM 恢复纠偏:设置中重新开启 BGM 不再重播只应出现一次的胜利或失败音乐
  • 🧹 SFX 生命周期修复:多段音效完成后立即释放定时器记录,避免长时间牌局持续积累
  • 🔊 音效开关一致性:细分开关同步约束底牌揭示、地主确认和赛末号角
  • 🧪 回归补强:新增暂停设置、弹窗焦点、一次性 BGM、音效分类和定时器释放检查
v1.2.41

🃏 玩家手牌与音频体验深度修复

  • 🎨 手牌视觉升级:增加低对比度独立牌槽和金色选中勾标,大牌面保持清晰且不遮挡点数
  • ⌨️ 键盘与无障碍:每张手牌支持 Tab 聚焦及 Enter/Space 选牌,实时同步选中状态和数量语义
  • 💡 提示状态修复:AI 提示选牌统一经过选牌状态入口,不再出现视觉与辅助状态分裂
  • 📱 移动横屏优化:玩家身份改为屏内紧凑胶囊,长昵称安全截断且不再压住第一张牌
  • 🎵 SFX/BGM 修复:切换 BGM 真正完成淡出并保留共享音频链,停止 BGM 不再截断延迟音效
  • 🧪 回归补强:新增牌槽、键盘选牌、提示同步、移动身份和音频生命周期自动化检查
v1.2.40

🛡️ 全面稳定性与全端体验修复

  • ⚙️ 设置面板修复:折叠分类标题不再被裁成空白条,“音量”可准确找到 BGM/SFX,无匹配时不再残留空分类
  • 🃏 大手牌全端加固:901–1100px 与 561–900px 响应式重新收拢,横屏地主 20 张牌也能完整留在屏内
  • 🔍 缩放状态一致:Ctrl/⌘ + 滚轮缩放会同步设置控件和本地存储;旧版超出安全范围的比例自动纠正
  • 👆 触屏滚动纠偏:窄屏手牌溢出时,横向滑动优先用于浏览,不再被拖选手势抢占
  • 🎵 BGM 竞态修复:切歌、静音或页面恢复期间的旧异步音符会被代次校验拦截,避免叠音
  • ♿ 质量与安全:补齐关键输入控件标签,修复生产与开发依赖安全告警,并扩充桌面/移动/音频回归
v1.2.39

🃏 选牌命中与手牌顺序再优化

  • 🃏 选中牌不挡邻牌:已选牌保持在普通手牌下方,相邻牌的外露区域可以继续点击选择
  • 🔢 手牌标准整理:全局排序统一为 3 4 5 6 7 8 9 10 J Q K A 2 小王 大王,同点数也按固定花色顺序稳定排列
  • 🎨 选牌 UI 降噪:降低默认选牌/悬停上浮和高亮阴影,让大牌面不再互相压迫
  • ⚙️ 设置项纠偏:移除容易误触的智能分组排序入口,默认排序显示为标准点数
  • 🧪 回归补强:新增相邻选牌命中、手牌自然升序和设置默认值自查
v1.2.38

🃏 手牌层级与标准排序修复

  • 🃏 选牌层级修复:已选牌现在压在相邻手牌下方,不再挡住继续选择其他牌
  • 🔢 标准手牌顺序:玩家手牌固定按 3 4 5 6 7 8 9 10 J Q K A 2 小王 大王 整理
  • 🎨 UI 降噪:收轻选牌高亮阴影和抬起反馈,减少大手牌下的视觉遮挡感
  • ⚙️ 隐藏设置纠偏:智能分组排序默认关闭,避免不可见设置继续影响实战手牌
  • 🧪 回归补强:新增手牌顺序与相邻牌可点击性的浏览器自查
v1.2.37

🔧 静默牌局收尾与少牌提醒自查

  • 🧹 死路径清理:移除渲染器内残留的评论引擎引用、聊天消息渲染函数和语音滑块绑定
  • 🌐 LAN 兼容修复:旧客户端发来的聊天消息现在会被安全忽略,不再调用已移除的聊天 UI
  • ⚠️ 少牌提醒自查:新增 UI 回归验证“我就剩 2 张牌了”提醒确实显示
  • 🔇 静默体验加固:继续确保牌局不出现闲聊、快捷短语、语音或解说气泡干扰
  • 🧪 全链路验证:重新覆盖 UI、移动横屏、SFX/BGM、LAN、挑战、回放和 console error 检查
v1.2.36

🃏 屏内手牌与静默牌局优化

  • 🃏 手牌不再超屏:玩家 17 张与地主 20 张手牌都收拢在屏幕内,不再依赖横向滚动浏览
  • ✅ 选牌安全区修复:选中牌抬起后仍保持在视口内,避免顶部或左右被裁掉
  • 🔇 静默牌局:移除聊天、快捷短语、语音播报、战斗解说入口和气泡,只保留必要 SFX/BGM
  • ⚠️ 少牌提醒:玩家少于 3 张牌时显示“我就剩 X 张牌了”式提醒,替代无关对话
  • 🎞️ 动画降噪:减少持续呼吸、头像脉冲、选牌和过牌动画强度,整体 UI 更稳
  • 🧪 测试补强:UI 回归新增屏内手牌、20 张地主手牌、选牌不出屏、聊天语音入口移除和移动横屏不溢出断言
v1.2.35

🖱️ 手牌滚轮冲突修复

  • 🖱️ 滚轮行为拆分:普通滚轮现在只横向浏览大牌手牌,不再同时触发牌面缩放
  • ⌨️ 缩放手势明确:牌面缩放改为 Ctrl/⌘ + 滚轮,避免和浏览手牌抢同一个操作
  • ⚙️ 设置文案同步:交互设置里的“滚轮缩放”改为“Ctrl/⌘滚轮缩放”,和真实操作一致
  • 🧪 测试补强:UI 回归新增普通滚轮不缩放、Ctrl 滚轮才缩放的冲突断言
v1.2.34

↔️ 大牌手牌浏览优化

  • 🖱️ 滚轮横向浏览:桌面端鼠标滚轮现在可直接推动大牌手牌横向移动,不用精准拖动滚动条
  • ↔️ 滚动边界反馈:手牌溢出时加入首尾渐隐,帮助判断左右还有没有牌
  • 📊 浏览进度反馈:手牌底部加入细进度条,快速感知当前浏览位置
  • 🧪 测试补强:UI 回归新增滚动状态初始化、滚轮横向滚动和进度变化断言
v1.2.33

🃏 大牌手牌滚动修复

  • 🃏 真正大牌模式:桌面玩家手牌提升到 184×256,宽屏提升到 220×306,牌面面积约为旧版 5 倍以上
  • ↔️ 横向滚动承载:17 张手牌不再被强行压进一屏,改为大牌横向浏览,首张牌保持完整可见
  • 📐 底部牌区加高:玩家区域为大牌重新分配高度,减少牌面、提示和控制按钮之间的拥挤
  • 🧪 测试补强:UI 回归改为检查大牌尺寸、横向滚动启用、首张不裁切和控制层透明
v1.2.32

🃏 手牌放大与遮挡修复

  • 🃏 玩家手牌放大:桌面端玩家牌从 82×114 提升到 122×170,宽屏进一步提升到 150×210,可见牌面显著变大
  • 🧱 黑色横条修复:移除控制层整条半透明背景,只保留按钮组自身背景,不再挡住手牌
  • 📐 布局防裁切:手牌区加宽加高,减少重叠并提高层级,首尾牌不会被桌面边界裁掉
  • 📱 移动横屏修复:低高度横屏单独调整控制区位置并隐藏冗余提示,避免按钮或快捷键提示压住手牌
  • 🧪 测试补强:UI 回归新增手牌尺寸、裁切、控制层透明和移动横屏不重叠断言
v1.2.31

🎧 音频开关与状态恢复深度修复

  • 🔊 总音效开关修复:游戏内按钮或快捷键关闭后再次开启,会恢复菜单/牌局循环 BGM,不再只恢复静态开关状态
  • ♿ 按钮状态同步:音效按钮现在同步 aria-pressed、标题和读屏文案,关闭/开启状态更清楚
  • 🎵 一次性音乐保护:胜利/失败结算音乐仍不会因恢复音效而重复播放
  • 🛡️ 音频底层防护:Web Audio 节点连接增加空 compressor 回退,降低边界状态下静音或异常风险
  • 🧪 测试补强:新增总音效开关恢复 BGM 的回归测试
v1.2.30

🎧 UI/UX/SFX/BGM 体验修复

  • 🎵 BGM 修复:页面切到后台再返回时,菜单/牌局背景音乐现在能按原场景恢复,不会静默丢失
  • 🔊 SFX 设置补全:恢复“叫分音效”独立开关,和已有音频代码、历史公告保持一致
  • ♿ 音量控件改进:BGM / SFX / 语音滑块补全 label 关联,键盘和读屏操作更清楚
  • 🧪 自查补强:默认设置测试覆盖叫分音效开关,防止设置面板再次缺项
v1.2.29

🔧 总体 Bug / UIUX / SFX / BGM 深度修复

  • 🚨 结算致命修复:修复赛季任务上报引用不存在的 isWin,避免胜负结算后统计、回放、复盘链路被异常中断
  • 📊 牌风数据修复:修复反春天字段拼写不一致,牌风分析现在能正确累计反春天表现
  • ⚔️ 极限挑战修复:星级统计不再依赖不存在的 history.type 字段,炸弹、纯顺子、总出牌数评级恢复准确
  • 🎯 交互修复:极限挑战规则拦截返回 false 时,出牌按钮不再误判成功、清空选牌或隐藏控制区
  • 🧪 测试补强:新增挑战星级 history 兼容测试与 Renderer 失败反馈测试;赛季任务和牌谱导入的预期失败路径不再污染控制台
v1.2.25

🔧 UI/UX/SFX/BGM 全面深度修复(第六轮)

  • 🎞️ 牌谱工坊修复:菜单隐藏、toast 方法不存在、clipboard 崩溃、分享码有效性校验、删除确认、空输入提示、导入防抖、反春天自动保存、过渡动画
  • 🎵 音频修复:audio.js nodeRef 未定义;极限挑战/残局模式 forceLandlord 分支 BGM 未触发
  • 🖥️ 屏幕切换修复:_transitionToScreen() 隐藏所有非目标屏幕;牌谱工坊回放正确清理旧 ReplayManager
  • 🛡️ 模态框修复:showMenu() 关闭赛季任务/锦标赛配置;ESC 键覆盖所有模态框;重复打开保护;z-index 层级补全
  • 🧠 渲染器防护:15 个核心方法添加 _destroyed 检查;成就/任务 toast 数量限制为 3 个
  • 🧪 测试:全站 202/202 通过,新增 challenge-mode + replay-workshop 到 test:all
v1.2.24

🆕 新增:牌谱工坊

  • 🎞️ 牌谱工坊:保存、管理、回放与分享精彩对局牌谱
  • 💾 自动保存:每局结束后自动存入,最多保留 50 条记录
  • 📤 分享码:Base64 分享码,跨设备导入
  • ▶️ 回放支持:工坊内直接回放
  • 📊 分类统计:按模式统计牌谱数量
v1.2.23

🔧 极限挑战模式深度修复

  • 🚨 game-state.js _isPatternAllowed 未处理 bombRule='disabled'
  • 🎯 bombBeatRocket 检测修复;calculateChallengeStars 外部标记
  • 🙈 盲牌斗地主 disableTracker / 斗帝之路 mustSpring 实现
  • 🛡️ forceLandlord 补全 initialHands / bottomCards / lastPlay
  • 🖥️ UI 修复:信息栏显示、challenge-screen 布局、_destroyed 检查
  • 🎵 音频:返回关卡列表停止 BGM;返回菜单关闭模态框
  • 🧪 新增 bombBeatRocket 星级判定测试
v1.2.22

🔧 极限挑战模式 Bug 修复

  • 🚨 game-state.js _isPatternAllowed 未处理 bombRule='disabled'
  • 🎯 bombBeatRocket 检测修复;calculateChallengeStars 外部标记
  • 🙈 盲牌斗地主 disableTracker / 斗帝之路 mustSpring 实现
  • 🛡️ forceLandlord 补全 initialHands / bottomCards / lastPlay
  • 🖥️ UI 修复:信息栏显示、challenge-screen 布局、_destroyed 检查
  • 🎵 音频:返回关卡列表停止 BGM;返回菜单关闭模态框
v1.2.21

🆕 新增:极限挑战模式

  • ⚔️ 全新模式「极限挑战」:10个特殊规则限制的挑战关卡
  • 🚫 禁炸令、⚡ 速战速决、🛡️ 保守派、📜 严格执法、🔒 不能Pass
  • 🙈 盲牌斗地主、💰 底分翻倍、💣 炸弹之王、⚔️ 孤军奋战、👑 斗帝之路
  • ⭐ 1~3星评级,解锁制递进,数据持久化到 localStorage
v1.2.20

全面深度 Bug 检查与修复(第五轮)

  • 🚨 核心逻辑修复:修复 game-state.js 抢地主阶段 currentCallPlayer 不更新;_finishCalling landlord 为 null 时死锁
  • 🃏 规则引擎修复:_tryStraightWithLaizi 显式拒绝重复真实牌
  • 🎵 音频系统修复:移除 BGM 双重调度;stopBGM() 清理 loop timer;InvalidStateError 防护
  • 🖥️ 渲染器修复:_initLayout 重复绑定清理;setTimeout 统一替换为 _setTimer
  • 🧠 AI 教练修复:sameCard 王牌比较;passRate 字段错误
  • 📊 数据修复:season-quest bombCount NaN;endgame bestSteps falsy;残局关卡5索引矛盾
  • 🌐 LAN 联机修复:_syncGameStart 校验 startRound 返回值
  • ⚙️ 自定义模式修复:无预设牌分支缺失 _applyGameRules()
v1.2.19

全面深度 Bug 检查与修复(第四轮)

  • 🛡️ 动画系统修复:Animations.cancelAll() 现在真正取消全部 30+ 处定时器;庆祝状态锁在销毁时正确复位
  • 🃏 规则引擎修复:癞子顺子误判 bug——含额外牌时不再错误识别为顺子
  • 🎵 音频系统修复:SFX setTimeout 纳入统一管理;destroy() 时全部清理;音效细粒度设置支持热更新
  • 📊 游戏状态修复:pass 存入 history 的 pattern 改为 HandPattern 实例;startRound 增加牌组长度校验
  • 🌐 LAN 联机修复:非 Host 客户端正确维护 playerMapping;_destroyRoom 只关闭仍属于该房间的连接
  • ⚙️ 主程序修复:_bindUXSettings() 添加防重复绑定保护;设置变更时自动热重载 SFX 设置
  • 🌍 时区修复:getTodayString / getWeekStartString 改用 UTC 方法计算
  • 📹 回放修复:回放列表过滤脏数据后再渲染
v1.2.18

全面深度 Bug 检查与修复(第三轮)

  • 🚨 致命修复:修复 startDailyMode() 每日挑战完全无法启动(错误传入 DOM 对象、调用不存在方法、缺失关键初始化)
  • 🚨 致命修复:修复 "再来一局" 时旧挑战结果面板覆盖新游戏的定时器泄漏;修复 _roundEndBound 未重置导致统计/成就/回放全部丢失
  • 🚨 严重修复:修复 BaseMode.destroy() 不 resolve Promise 定时器导致异步流程永久挂起、内存泄漏
  • 🎵 音频修复:stopBGM() 清理 _bgmGain/_masterCompressor;_ensureContext() resume 后验证 state;监听 visibilitychange 防止后台 BGM 叠音;核心音效增加节流
  • 🎯 交互修复:一键出牌取消选中时清除 timeout 防止错误触发;分数滚动动画保存 RAF id 避免幽灵动画;拖拽选牌时节流 _updateHandHint 调用
  • 🛡️ 动画修复:cancelAll() 恢复 body transform 并重置 _shakeCount;screenShake 修复 _activeRafs 帧级泄漏
  • 📐 主程序修复:showMenu() 现在关闭所有面板(设置/公告/牌风/成就);_calcStreak 统一使用 UTC+8
v1.2.17

UI/UX/SFX/BGM 全面检查与改进

  • 🚨 致命修复:修复 startDailyMode() 每日挑战完全无法启动——错误传入 DOM 对象、调用不存在方法、缺失关键初始化
  • 🎵 音频修复:stopBGM() 未清理 _bgmGain/_masterCompressor 导致重建 Context 后无声;toggleBGM 不再重播一次性 win/lose BGM;核心音效增加节流防止音爆重叠
  • 🎯 交互改进:出牌按钮根据选牌状态动态启用/禁用;涟漪效果仅在无拖拽意图时触发,避免滚动误反馈
  • ♿ 无障碍:screenShake 与 flashScreen 尊重 prefers-reduced-motion: reduce 系统偏好
  • ✨ 面板 UX:挑战结果→历史记录切换等待关闭动画完成;历史面板淡入淡出;分享失败 fallback 从 alert() 改为 toast
  • 🏷️ 徽章改进:每日挑战徽章使用 CSS .daily-badge 类,已完成/三星有独立视觉样式
v1.2.16

全面深度 Bug 检查与修复

  • 🚨 严重修复:修复每日挑战结果面板永远弹不出的 bug
  • 🚨 严重修复:修复连胜计算逻辑错误——今天输了仍算连胜
  • 🔧 数据修复:getRecords 缺失 timestamp 导致记录静默丢弃
  • 🔧 时区修复:getTodayString 固定使用 UTC+8
  • 🛡️ 内存泄漏修复:renderHands _controlListeners 累积等
  • 🛡️ 安全修复:showAchievementUnlock 使用 esc 转义
  • 🎵 音频修复:BGM 切换定时器被 ENDED 阶段清除
  • 🎯 UX 修复:closeChallengeResult timeout 未追踪
v1.2.15

UI/UX/SFX/BGM 全面检查与改进

  • 🔧 渲染修复:修复结算弹窗 XSS 转义函数块级作用域 bug(非比赛模式报错)
  • 🔊 音频修复:renderer.destroy() 现在正确关闭 AudioContext
  • 🎵 音效设置:补全缺失的 "call" 音效开关
  • 🎯 面板清理:返回菜单/启动新游戏时自动关闭残留面板
  • ✨ 每日挑战 UX:结算弹窗 1.8s 后自动关闭避免重叠
  • 📐 层级优化:挑战结果 z-index 提升至 250
v1.2.14

全面深度修复 & 规则引擎完善

  • 🔧 牌风分析修复:修复50局后数据失真、成长建议崩溃、数据迁移与空数据防护
  • 🎙️ 评论系统修复:修复destroy状态泄漏、队列冷却抖动、禁用后仍显示的问题
  • 🛡️ 渲染器修复:修复timer泄漏、事件监听器泄漏、多次initLayout累积问题
  • ⚙️ 主程序修复:修复公告版本号不匹配、面板关闭竞态、roundEnd重复监听、LAN renderer未清理
  • 📐 结构与样式修复:修复modal-overlay嵌套、toast z-index被遮挡等DOM/CSS问题
v1.2.13

牌风分析系统

  • 📊 6维雷达图深度解析出牌风格(攻击性/稳健性/技巧性/速度型/运气质/爆发性)
  • 🏷️ 个性化标签:核弹级、闪电侠、斗地主之神等专属称号
  • 📈 胜率、场均炸弹、春天率、平均思考时间等多维度统计
  • 💡 AI智能分析短板并给出针对性提升建议
  • 🎨 SVG纯代码绘制高颜值六维能力图
v1.2.12

牌局神评论系统

  • 🎙️ 牌局神评论:炸弹、火箭、春天、连击等关键时刻自动弹出热血解说评论
  • 💬 120+ 条评论库:根据牌型语境智能匹配幽默/热血解说词
  • 🎨 情绪色系统:炸弹红、火箭金、春天粉、胜利彩虹等视觉风格
  • 🎯 6 插槽防重叠:多条评论分散显示,不会互相遮挡
  • ⚙️ 可开关:设置面板中可自由开启/关闭评论功能
v1.2.11

第三轮深度修复

  • 修复暂停时 AI Promise 死锁(_pendingTimers 手动 resolve)
  • 修复 AI 回合中央倒计时闪烁(仅人类回合显示)
  • 修复游戏结束倒计时未清理(onPhaseChange ENDED 分支)
  • Renderer destroy() 多次调用防护、BGM/SFX 即时同步
v1.2.10

第二轮补充修复

  • 清理 CSS 死代码,优化 560px 下手牌裁剪与 overflow
  • 修复 center-countdown z-index、控制区小屏定位
v1.2.9

布局重构 & Bug 修复

  • 对角布局、中央倒计时、手牌放大、控制区上移
  • 修复 timerEnabled 字符串判断、超时面板不隐藏等
v1.2.8

全站 UI 深度美化

  • LAN/自定义/暂停/成就/回放界面全面毛玻璃化
  • 通用组件化重构,统一视觉语言

📊 牌风分析

📅 每日挑战结果

📜 挑战历史