feat: 实现补杠和抢杠胡功能
新增 MeldType 和 MeldGroup 领域模型,支持碰、明杠、补杠、暗杠四种副露类型 GameSeat 新增副露管理方法,支持将碰升级为补杠 ResponseActionWindowBuilder 新增补杠响应窗口构建逻辑 SettlementService 新增补杠和抢杠胡结算规则 前端新增副露展示区域,支持显示各类副露标签
This commit is contained in:
@@ -1,19 +1,31 @@
|
||||
# 当前执行入口
|
||||
- 当前 Sprint 文档:`docs/SPRINT_01_ISSUES_BOARD.md`。
|
||||
- 当前主线已进入“统一结算服务 + 自摸胡闭环”阶段。
|
||||
- 当前主线已进入“补杠 + 抢杠胡闭环”阶段。
|
||||
- 最新已完成能力:
|
||||
- `HU` 已同时支持两条路径:
|
||||
- 响应胡(吃别人弃牌)
|
||||
- 自摸胡(当前回合主动胡)
|
||||
- `HuEvaluator` 已补 `canHu(List<Tile>)`,可直接判断整手自摸是否成胡。
|
||||
- 当前回合私有动作消息已支持结构化候选下发,真人玩家在可自摸时会收到 `HU + DISCARD` 候选。
|
||||
- AI 当前回合若满足自摸胡条件,会优先执行 `HU`,不再一律走弃牌策略。
|
||||
- `SettlementService` 已补 `ZI_MO_HU` 结算占位规则:所有未胡玩家各 `-1`,自摸方累计获得对应分数。
|
||||
- 自摸胡后会将胡牌座位标记为 `won`,并按血战逻辑继续推进到下一有效座位;若仅剩 1 名未胡玩家则结束。
|
||||
- `GANG` 主动动作已区分三条路径:
|
||||
- 暗杠(4 张同牌)
|
||||
- 补杠(已有 `PENG` 副露 + 手牌 1 张同牌)
|
||||
- 响应明杠(来自他人弃牌)
|
||||
- 新增 `MeldType.BU_GANG`,`GameSeat` 已支持把 `PENG` 升级为 `BU_GANG`。
|
||||
- `ResponseActionWindowBuilder` 已新增 `buildForSupplementalGang`,补杠时只会为其他玩家生成 `HU + PASS` 响应窗口。
|
||||
- `GameSessionService` 已支持:
|
||||
- 补杠宣告时打开抢杠胡响应窗口
|
||||
- 全员 `PASS` 后真正执行补杠、结算、补摸一张、继续本家回合
|
||||
- 有人 `HU` 时按 `抢杠胡` 结算并终止补杠完成
|
||||
- `SettlementService` 已新增:
|
||||
- `BU_GANG` 占位结算
|
||||
- `QIANG_GANG_HU` 占位结算
|
||||
- H5 原型页当前已可看到 `碰 / 明杠 / 补杠 / 暗杠` 副露标签。
|
||||
- 当前占位分规则:
|
||||
- `BU_GANG`:所有未胡对手各 `-1`,补杠方累计加分
|
||||
- `QIANG_GANG_HU`:暂按点炮胡占位分处理(胡牌方 `+1`,补杠方 `-1`)
|
||||
- 已完成验证:
|
||||
- `mvn test` 通过,当前共 38 个测试。
|
||||
- `npm run build` 通过。
|
||||
- 当前仍未完成的核心点:
|
||||
- `暗杠 / 补杠` 需要引入副露/杠展示状态,否则手牌数与桌面状态会失真。
|
||||
- 正式四川血战计分规则仍未实现,当前仍是工程占位分。
|
||||
- `过水不胡`、`一炮多响`、`查叫 / 退税` 尚未接入。
|
||||
- H5 正式页面拆分仍未开始。
|
||||
- 当前推荐的下一步:
|
||||
1. 代码主线:补 `Meld/副露` 领域模型,再接 `暗杠 / 补杠 / 杠后补牌 / 杠分事件`。
|
||||
2. 结算主线:把占位规则升级为正式血战分数模型,并细化 `SETTLEMENT_APPLIED` 载荷。
|
||||
1. 规则主线:把占位结算升级为正式四川血战计分规则。
|
||||
2. 产品主线:开始 `S1-08`,拆分正式 H5 页面与对局组件。
|
||||
Reference in New Issue
Block a user