二七王:确立「余主公示」「底牌公示」术语,核查「亮牌」冲突

术语决策:
- A 庄家手牌达门槛后公开数量/结构 → 仍叫「亮牌」(保持不变)
- B 有人报无主后展示各家剩余主牌数与对数 → 新术语「余主公示」
- C 70 分坐庄摸底牌前向全场亮 8 张底牌 3 秒 → 新术语「底牌公示」
- 「亮主」确认为选主界面的标题文案、不是规则术语,三份文档均注明不得
  用它指代任何规则

「亮牌」冲突核查结论:无同名不同义,但有三处字面相近而语义方向相反的
读错风险——亮牌 vs 明牌(一个给数量、一个给牌面,方向还相反)、亮牌 vs
亮主(只差一字且同在庄家阶段)、亮牌 vs「亮出底牌」。故在 design 术语表、
协议 §0.0b、前端清单 §0.0 各加一张四类「公开信息」对照表,一句话口诀:
「亮牌」「余主公示」只给数字,「明牌」「底牌公示」才给牌面。

design.md:术语表新增 亮牌 / 余主公示 / 明牌 / 底牌公示 四条定义 +
易混对照表;§4、§9、§12.1 正文启用新术语。
packet_protocol.md:新增 §0.0b 术语小节;seatlist 第 5 位、ancard3s、
baozhu 三处字段说明冠以对应术语。
前端清单:§0.0 补对照表,§2.5 改名为「自己的主牌统计 + 余主公示」。

另据新图 等待庄家选主.png 抽出一个通用部件「状态提示条」(§2.8):
深色半透条 + 居中白字,等待类(等待庄家选主…)与即时反馈类(强甩失败)
共用同一套精灵,只切位置预设与文案。原单列的 BAR_SHUAICUO 并入该部件。

新增 T-32(该图底牌仍摊着与 design §4 的先后顺序对不上,需确认)、
T-33(等待类文案清单待定)。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-08-25 23:04:03 +08:00
co-authored by Claude Opus 5
parent be06d3bf58
commit 6ec6bdbbc2
4 changed files with 93 additions and 25 deletions
+21 -5
View File
@@ -47,6 +47,10 @@
| 埋牌 | 庄家看到底牌、摸起查看后,从手牌中选出 8 张重新扣下,作为"埋牌底牌" |
| 捡分 | 出牌中赢下的分牌(5、10、K)计入闲家总得分的过程 |
| 扣底 | 出完所有手牌后的最后一轮,若被闲家用主牌牌型压过庄家,则埋下的 8 张埋牌底牌也计入闲家捡分,并按牌型翻倍 |
| 亮牌 | 庄家埋牌后手牌达到门槛(固定主牌 ≥10 / 王 ≥3 / 7 ≥6 / 2 ≥6)时,向两个闲家公开对应的**数量与结构**统计——**只亮数量 / 结构,不亮具体是哪几张牌**(见第 8.2 节)|
| 余主公示 | 任一玩家主牌出空(报无主)后,为**全体三人**展示另外两家各自的**剩余主牌数与剩余主对数**(见第 9 节)。只给数量,不给具体牌面 |
| 明牌 | 可查牌模式下,查看另外两家手中**全部未出主牌的具体牌面**(见第 9 节)。与"亮牌""余主公示"只给数量不同,明牌给的是具体牌 |
| 底牌公示 | 70 分坐庄时,在庄家摸底牌之前,把那 8 张底牌向**所有玩家**亮出 3 秒(见第 4 节)。给的是具体牌面 |
| 拖拉机 | 同一花色(含主牌)里点数相邻的连续对子,如 K K Q Q 为"两托"(两连对) |
| 甩牌 | 首家出牌时,一次性打出多组主牌组合(单张 / 对子 / 拖拉机自由搭配);仅主牌可以甩牌,副牌禁止甩牌,只能分单张 / 对子 / 拖拉机依次打出(见第 5.4 节) |
| 毙牌 | 跟牌时手中没有本轮花色(缺门),改用主牌打出、且牌面大过本轮目前所有人的牌(见第 5.1 / 5.2 节) |
@@ -63,6 +67,18 @@
>
> **本文已全文改用新术语。** 但 `docs/protocol/packet_protocol.md` 与服务端代码里的 `bottomcards` 字段名**尚未拆分**——两批牌目前仍共用这一个字段名,只靠「出现在哪个包」区分语义:`shangzhuang` / `ChooseMain` / `BuryCards` 里的是**底牌**,`maipai` / `PushCards` / 结算 `bottom` 分组里的是**埋牌底牌**。拆分计划见 `docs_dev/二七王-UI资源与精灵清单.md` §7.5 的 S-4。
> **易混术语对照(都带"亮/明"字,但方向与粒度各不相同,务必分清)**:
>
> | 术语 | 谁公开给谁 | 给的是什么 | 触发条件 | 协议字段 |
> | --- | --- | --- | --- | --- |
> | **亮牌** | 庄家 → 两个闲家 | **只有数量/结构** | 庄家埋牌后手牌达门槛(§8.2) | `liangpai` |
> | **余主公示** | 全体 → 全体 | **只有数量**(剩余主牌数、主对数) | 任一玩家报无主(§9) | `seatlist[seat][4]` + `baozhu` |
> | **明牌** | 他家 → 请求者 | **具体牌面**(他家全部未出主牌) | 可查牌 + 报无主,主动点击(§9) | `mingpai.others[].zhucards` |
> | **底牌公示** | 桌面 → 所有玩家 | **具体牌面**(8 张底牌) | 70 分坐庄,摸底牌前 3 秒(§4) | `ancard3s` + `bottomcards` |
>
> 一句话记:**「亮牌」「余主公示」只给数字,「明牌」「底牌公示」才给牌面**。
> 另注:**「亮主」不是本文档的术语**——它是前端选主界面的标题文案(庄家选主牌花色那一步),与上表四项无关。
---
## 2. 牌局构成
@@ -111,7 +127,7 @@
- 若一家叫分后,另外两家都选择"不叫",则该叫分玩家成为本局庄家。
3. 庄家确定后摸底牌(摸完后庄家共 36 张):
- **非 70 分坐庄**:桌面 8 张底牌**只有庄家可见**,庄家查看后摸入手牌。
- **70 分坐庄**:在庄家摸底牌**之前**,先把这 8 张底牌**向所有玩家(含两个闲家)亮出 3 秒**,然后才由庄家把它们摸入手牌。
- **70 分坐庄**(触发**底牌公示**):在庄家摸底牌**之前**,先把这 8 张底牌**向所有玩家(含两个闲家)亮出 3 秒**,然后才由庄家把它们摸入手牌。
4. **选主 / 投降(同一决策点,二选一,互斥)**:
- **选主**:庄家在 4 个花色中选定一个作为本局主牌(见第 3 节)→ 进入下一步埋牌、随后出牌。
- **投降**:仅当**叫分为 70 分**时,此决策点才额外提供"投降"选项;选择投降表示放弃本局,**直接结束、不再选主、不埋牌、不出牌**,按 7.1 节"70 分坐庄 · 投降"的固定结果结算(基础子数 1 个,庄家直接输;算奖仍照常,见 8.4 节)。选主与投降互斥——**选了花色就等于放弃投降、正常打牌;选了投降就不再选主**。
@@ -645,13 +661,13 @@ A - K - Q - J - 10 - 9 - 8 - 6 - 5
- **可查牌模式**(四项功能全部提供):
1. **出牌历史**:当前牌局中,所有玩家已经打出的牌(含之前每一轮打出、已被收走的牌),任何时候都可以回看。
2. 一旦有玩家的主牌全部打空(即 5.4.2 节所说的"报无主"状态;"主牌"指大王、小王、所有花色的 2、所有花色的 7,以及主花色的其余普通牌,见第 3 节),系统就为**全体三人**(含刚刚报无主的这位玩家自己)显示另外两家各自的主牌数量、以及这些主牌里有多少对子。
2. **余主公示**:一旦有玩家的主牌全部打空(即 5.4.2 节所说的"报无主"状态;"主牌"指大王、小王、所有花色的 2、所有花色的 7,以及主花色的其余普通牌,见第 3 节),系统就为**全体三人**(含刚刚报无主的这位玩家自己)显示另外两家各自的主牌数量、以及这些主牌里有多少对子。**只给数量、不给具体牌面**——要看具体牌面是下一条的"明牌"。
3. 同时界面上会出现一个"明牌"按钮:点击后可以查看另外两家手中全部主牌的**具体牌面**(不只是数量 / 对子结构),再点一次取消查看、恢复隐藏。
4. 庄家若触发了 8.2 节的"亮牌要求",两个闲家可以看到对应的统计信息(只亮数量 / 结构,不亮具体牌面,见 8.2 节)。
- **不可查牌模式**:以上四项**一项都不提供**——
- **不提供出牌历史**:之前各轮打出过什么牌一律不能回看,只能靠玩家自己记牌;
- 即使有玩家报无主,也不会显示任何人的主牌数量、对子结构,也没有"明牌"按钮;
- **不提供余主公示**:即使有玩家报无主,也不会显示任何人的主牌数量、对子结构,也没有"明牌"按钮;
- 庄家即使触发了 8.2 节的亮牌条件,闲家也看不到相应的统计信息(见 8.2 节)。
> **"查牌"与"当前这一轮桌面上的牌"是两回事**:本轮已经出过牌的玩家、打在桌面上的这几张牌,**两种模式下都必须对全体可见**——否则后出的人无从跟牌、也无从判断本轮谁最大。查牌模式管的是**已经收走的往轮牌**与**他家手牌信息**能不能回看,不影响当前这一轮的正常出牌展示(断线重连回到牌桌时同理:当前轮桌面上的牌照常恢复,往轮历史则按本节的模式开关决定给不给)。
@@ -704,7 +720,7 @@ A - K - Q - J - 10 - 9 - 8 - 6 - 5
3. **叫分坐庄**(4.2):由暂定庄家起、按逆时针依次叫分。暂定庄家必叫(5~70 分、步进 5,不能"不叫");其后每家只能叫比当前更低的分,或选择"不叫";有人叫出 5 分即立即坐庄,或一家叫分后另外两家都"不叫"也即坐庄。叫分越低表示庄家对"压住闲家捡分"越有信心,对应的基础子数越高(第 7 节)。
4. **看底牌**:庄家坐定后摸底牌(摸完共 36 张)。非 70 分:8 张底牌仅庄家可见。**70 分坐庄:庄家摸底牌之前,先把这 8 张底牌向所有玩家亮 3 秒,再由庄家摸入手牌**(4.4 / 第 4 节)。
4. **看底牌**:庄家坐定后摸底牌(摸完共 36 张)。非 70 分:8 张底牌仅庄家可见。**70 分坐庄触发「底牌公示」:庄家摸底牌之前,先把这 8 张底牌向所有玩家亮 3 秒,再由庄家摸入手牌**(4.4 / 第 4 节)。
5. **选主 / 投降(同一决策点,二选一,互斥)**(第 4 节):
- **选主**:庄家选定一门花色为本局主牌(大王、小王、所有花色的 2、7 恒为主牌)→ 进入下一步埋牌。前端此阶段每个花色按钮上要显示该花色在庄家手中的对子数;70 分坐庄时并列显示投降按钮。
@@ -718,7 +734,7 @@ A - K - Q - J - 10 - 9 - 8 - 6 - 5
- 首家出什么花色 / 牌型,其余两家按 5.1~5.3 跟牌(同花色不够时可用主牌"毙牌"抢权,或"垫牌"不争)。
- 首家出主牌时可"甩牌"(5.4):一次性打出多组主牌组合;服务端按全场手牌判定"最大性",甩错则按 5.4.5 收回、只强制打出最小一张。副牌一律不能甩。
- 每轮比大小定出胜者:闲家赢下的那一轮,牌面上的分牌(5→5 分、10→10 分、K→10 分)计入闲家捡分;庄家赢的轮分牌作废(6.1~6.2)。
- 过程中:有玩家主牌出空需"报无主",可查牌模式下为全体展示他家主牌数量 / 对子结构(第 9 节);庄家手牌达到 8.2 的门槛时触发"亮牌"。
- 过程中:有玩家主牌出空需"报无主",可查牌模式下触发**余主公示**(为全体展示他家主牌数量 / 对子结构,第 9 节);庄家手牌达到 8.2 的门槛时触发**亮牌**。
8. **末轮扣底**(6.3):所有手牌出完后,若最后一轮由闲家**用主牌**赢下,则庄家埋的 8 张埋牌底牌翻开,其中的分按闲家赢牌的牌型翻倍(单张 ×1、主对 ×2、N 连对 ×2N)后计入闲家捡分。