Skip to content

Repository files navigation

四人终局

四人合作规则怪谈麻将原型。界面使用 Next.js、React、TypeScript 与 Tailwind CSS;房间发现使用 PeerJS 公共信令,牌局状态通过浏览器 WebRTC 点对点同步,无需数据库或自建 API。

已实现

  • 创建 / 加入 6 位房间码,四人齐席开局
  • 房主权威状态同步,断开后自动清理连接
  • 136 张标准麻将牌数据:万、筒、条、风牌、三元牌
  • 摸牌、弃牌、吃、碰、杠、胡及标准四面子一雀头校验
  • 共享命灯、威胁值、动态明规则 / 暗规则 / 禁忌事件
  • 单机演练(3 名自动玩家),便于无需邀请即可查看完整牌桌
  • 响应式高亮度骨牌哥特 UI

本地运行

npm install
npm run dev

打开终端显示的本地地址。

部署到 Vercel

  1. 将项目推送到 GitHub、GitLab 或 Bitbucket。
  2. 在 Vercel 选择 Add New → Project 并导入仓库。
  3. 保持 Framework Preset 为 Next.js
  4. 不需要配置环境变量,直接点击 Deploy

仓库中的 vercel.json 会让 Vercel 使用标准 Next.js 构建;同时项目保留 npm run build 供 Sites / Cloudflare Worker 兼容构建使用。

原型联机说明

房主浏览器是当前房间的状态权威。房主关闭标签页后房间结束;房间不保存历史记录。PeerJS 公共信令仅协助浏览器互相发现,牌面和操作经 WebRTC 直连传输。部分严格企业网络可能禁用 WebRTC。

正式产品建议把房间发现与断线重连迁移至 Supabase Realtime、Ably、PartyKit 或 Vercel-compatible 托管服务,并加入身份认证、服务端洗牌承诺和反作弊校验。

Releases

Packages

Contributors

Languages