四人合作规则怪谈麻将原型。界面使用 Next.js、React、TypeScript 与 Tailwind CSS;房间发现使用 PeerJS 公共信令,牌局状态通过浏览器 WebRTC 点对点同步,无需数据库或自建 API。
- 创建 / 加入 6 位房间码,四人齐席开局
- 房主权威状态同步,断开后自动清理连接
- 136 张标准麻将牌数据:万、筒、条、风牌、三元牌
- 摸牌、弃牌、吃、碰、杠、胡及标准四面子一雀头校验
- 共享命灯、威胁值、动态明规则 / 暗规则 / 禁忌事件
- 单机演练(3 名自动玩家),便于无需邀请即可查看完整牌桌
- 响应式高亮度骨牌哥特 UI
npm install
npm run dev打开终端显示的本地地址。
- 将项目推送到 GitHub、GitLab 或 Bitbucket。
- 在 Vercel 选择 Add New → Project 并导入仓库。
- 保持 Framework Preset 为 Next.js。
- 不需要配置环境变量,直接点击 Deploy。
仓库中的 vercel.json 会让 Vercel 使用标准 Next.js 构建;同时项目保留 npm run build 供 Sites / Cloudflare Worker 兼容构建使用。
房主浏览器是当前房间的状态权威。房主关闭标签页后房间结束;房间不保存历史记录。PeerJS 公共信令仅协助浏览器互相发现,牌面和操作经 WebRTC 直连传输。部分严格企业网络可能禁用 WebRTC。
正式产品建议把房间发现与断线重连迁移至 Supabase Realtime、Ably、PartyKit 或 Vercel-compatible 托管服务,并加入身份认证、服务端洗牌承诺和反作弊校验。