feat: 实现最小正式版过水不胡规则并完善前端动作面板

- 后端实现最小正式版过水不胡规则:玩家在响应窗口选择PASS后,直到下次摸牌前不能响应胡
- 完善GameSeat状态管理,新增passedHuBlocked字段及相关方法
- 在ResponseActionWindowBuilder和GameActionProcessor中增加过水不胡校验
- 前端重构动作面板,区分回合动作和响应动作,支持多用户视角切换
- 优化公共事件处理逻辑,自动清理失效的私有动作面板
- 更新相关文档说明当前实现的规则范围和工程取舍
- 补充测试用例验证过水不胡规则的正确性
This commit is contained in:
hujun
2026-03-20 15:26:22 +08:00
parent b84d0e8980
commit 6bcdf26fca
13 changed files with 832 additions and 148 deletions

View File

@@ -350,12 +350,10 @@ ws WebSocket 配置与消息发布
### 7.5 当前尚未完成
- `PENG`
- `GANG`
- `HU`
- `PASS`
- 响应动作优先级裁决
- 胡牌判定与结算
- 自摸加番 / 加底等地方变体
- 天胡、地胡
- 更完整的地方化 `过水不胡`
- 前端正式动作面板与规则联调
- 教学开关接口
- 局后个人复盘
- 数据库持久化
@@ -393,6 +391,10 @@ ws WebSocket 配置与消息发布
- 当前支持:
- `SELECT_LACK_SUIT`
- `DISCARD`
- `PENG`
- `GANG`
- `HU`
- `PASS`
- `POST /api/games/{gameId}/lack`
- 兼容接口
@@ -645,7 +647,7 @@ AI 不是单一模块,而是三层能力:
当前状态:
- 进行中
- 已基本完成
### M3 规则与结算
@@ -668,7 +670,7 @@ AI 不是单一模块,而是三层能力:
当前状态:
- 待做
- 进行中
### M4 H5 正式对局体验