二七王:修正 design 全量重核发现的 3 项不一致(亮牌快照/报无主下发面/甩牌张数上限)

- §8.2 亮牌改用埋牌后 28 张静态快照 get_seat_cards_award,不再用
  get_seat_cards(只含未出的牌)——否则闲家重连时 get_deskinfo 按庄家
  当前剩余手牌重算,亮牌统计缩水甚至变 null。
- §9 出牌包由只带出牌者一家的 info 改为整表下发三家 seatlist,与重连包
  PushCards.seatlist 同名同构;报无主后另两家的主牌数/对子数不再滞后两次出牌。
- §5.4.3 甩牌"无组合数量限制":can_playcard 去掉规则外的 14 张硬上限,
  改为结构性上界 28(单人手牌上限,牌型编码在此范围内不溢出)。

协议文档同步改写 chupai 三处 info 条目与 liangpai 口径;合规文档补记第四轮
核对(流程层无缺环,规则层 3 项已收口)。全套单测 368 项通过。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-08-16 19:33:06 +08:00
co-authored by Claude Opus 5
parent b6aeba412f
commit 916066ba96
9 changed files with 72 additions and 15 deletions
+5 -2
View File
@@ -499,8 +499,11 @@ var cls_youle_erqiwang_arith = cls_youle_erqiwang_arith || {
delete can.cardvalue;
}
//规则外的约定,一次最多只能出14张牌
if (cards.length > 14){
//张数上界:design §5.4.3 明确甩牌「无组合数量限制」,故不设规则性上限;
//这里只挡结构性越界——出牌阶段一名玩家最多持 28 张(埋牌后),
//超过即不可能是合法出牌(调用方 mod.chupai 已先做 check_cards_inhand 持牌校验)。
//注:牌型编码在 28 张内不会溢出各自区间(单张≤128、多对≤214、拖拉机≤314)
if (cards.length > 28){
do_returnfalse();
return can;
}