Skip to content

Latest commit

 

History

16 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

坪石镇娱乐中心游戏合集

一个适合朋友私下娱乐的实时积分制网页游戏合集。首页可选择德州扑克、看四张抢庄牛牛、炸金花或斗地主;无需注册,创建房间后复制链接即可邀请好友入座。

本地运行

npm install
npm run dev

打开 http://localhost:3000。分享链接给同一网络中好友时,需要把 localhost 换成这台电脑可被访问的地址;部署到公网后,邀请链接会自动使用线上域名。

已实现

游戏大厅

  • 游戏合集首页,可分别进入德州扑克、看四张抢庄牛牛、炸金花和斗地主
  • 四种游戏使用独立房间链接和状态,不会互相影响

德州扑克

  • 2–8 人私人房间与 6 位房间码
  • 可配置起始积分、大小盲和人数上限
  • 服务端洗牌、发牌和操作校验
  • 翻牌前、翻牌、转牌、河牌与摊牌
  • 弃牌、过牌、跟注、加注和全下
  • 牌型判断、平分底池与边池结算
  • 同一赢家的边池奖金合并展示,未被跟注的下注自动退回
  • All-in 后公共牌按时间间隔逐张发出,并带翻牌动画
  • 短码 All-in 不足一个完整加注时,只要求已行动玩家补齐差额,不重新开放加注
  • 每位玩家实时查看自己的“底牌 + 公共牌”组合牌型
  • 断线重连、房主移交、牌局动态和文字聊天
  • 房主暂停/恢复牌局、调整盲注、修改玩家积分和剔除玩家
  • 房主可开启结算展示 5 秒后自动开始下一手
  • 玩家持续离座与“我回来了”状态(返桌后从下一手发牌)
  • 默认 1000 积分,玩家首次入座前可自行填写入座积分
  • 邀请链接采用两步入座:先查看 8 个座位并选择空位,再填写昵称和积分
  • 已占座服务端锁定,断线重连保留原座位,剔除后座位自动释放
  • 牌局进行中也可立即入座,当前手旁观并从下一手自动加入
  • 默认 30 秒服务端行动倒计时,超时优先自动过牌,否则自动弃牌
  • 加注支持滑杆和手动输入目标金额,按 Enter 可直接确认
  • 邀请链接单击直接复制,并兼容 HTTP/微信浏览器的复制限制
  • 弃牌玩家显示红色“已弃牌”标签,本手结束后自动公开所有参战底牌
  • All-in 时立即公开争夺底池的玩家底牌,并随公共牌实时更新胜率
  • 玩家聊天与系统牌局动态使用独立页签,互不刷屏
  • 侧栏默认打开聊天页,发言会在玩家头像旁显示 6 秒临时气泡
  • 每个客户端以自己为中心旋转牌桌视角,自己的座位始终显示在底部正前方
  • 积分归零自动释放座位,可重新选座并累计显示同房间重坐次数

看四张抢庄牛牛

  • 一副去掉大小王的 52 张牌,支持 2–6 人
  • 每位玩家先看自己的 4 张牌,再选择不抢或 1–4 倍抢庄
  • 四张牌按时间间隔逐张发出,第五张同样带翻牌动画
  • 最高倍数定庄(同倍随机),闲家选择 1/2/3/5/10/15 倍下注
  • 同倍最高抢庄时显示候选庄家跑马灯,最终结果由服务端随机确定
  • 抢庄和下注各有默认 30 秒倒计时,超时自动选择最低倍数
  • 积分达到底注即可选择任意抢庄/下注倍数;积分低于底注时释放座位
  • 下注完成后发第 5 张牌,服务端自动拼牌、比牌和结算
  • 支持无牛、牛一至牛牛、五花牛、炸弹牛、五小牛及对应倍率
  • 同牌型按最大牌点数和黑桃/红桃/梅花/方片顺序比较,五小牛同牌庄家胜
  • 单局输赢不超过带入积分;庄家资金不足或封顶时按理论输赢比例分配
  • 复用选座、进行中入座下一局、聊天气泡、离座、房主管理、积分归零重坐
  • 支持房主开启结算展示 5 秒后自动开始下一局
  • 流式响应式桌面/H5 界面,支持小屏、大屏和手机横竖屏

炸金花

  • 2–5 人私人房间,开局统一支付底注并随机坐庄
  • 从庄家开始逆时针发三张暗牌,庄家下家首先行动
  • 随时看牌、暗牌/明牌差异跟注、每轮一次加注、弃牌与第二轮起自由比牌
  • 比牌支付双倍跟注费用,其他玩家看不到双方牌面,同牌主动比牌者负
  • 最多 15 轮,达到上限后从庄家下家开始依次强制比牌
  • 豹子、顺金、金花、顺子、对子与散牌完整比较,支持 A23 最小顺子及非同花 235 反杀豹子
  • 服务端行动倒计时、断线自动弃牌、积分守恒和暗牌隔离
  • 复用选座、聊天气泡、离座、房主管理、自动下一局与手机响应式界面

斗地主

  • 经典三人房间,54 张牌,每人 17 张并保留 3 张底牌
  • 随机首叫,支持不叫与 1/2/3 分竞叫,三家不叫自动重新发牌
  • 地主获得并公开三张底牌,地主先出,农民协作对抗地主
  • 支持单张、对子、三带、顺子、连对、飞机、四带二、炸弹和王炸
  • 服务端校验牌型与压制关系,连续两家不出后自动回到领出玩家
  • 炸弹与王炸令结算倍数翻倍,地主/农民阵营积分守恒结算
  • 行动倒计时、断线重连、暗牌隔离、结算公开、聊天和房主管理
  • 自动下一局、积分不足离桌及桌面/手机响应式界面

公平机制

服务端只向每位玩家发送自己的底牌。其他玩家(包括房主)在本手进行中看不到未公开底牌;本手结算后会公开所有参战玩家(包括已弃牌玩家)的底牌。项目不包含隐藏看牌入口或房主作弊后门。

自动化检查

先启动服务,再在另一个终端运行:

npm run test:smoke
npm run test:niuniu
npm run test:zjh
npm run test:doudizhu
npm run test:regressions

脚本会按游戏需要创建 2–3 个实时客户端并完整打完一局,检查底牌隔离、积分守恒、行动规则、断线重连和关键结算流程。

About

poker

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages