二七王:确立「摸底 / 开底 / 查底牌」术语,弃用有歧义的「底牌公示」

弃用原因:中文「底牌」既指发牌留桌那 8 张牌,也指"底细/实力"。我上一轮
造的「底牌公示」会被读成"公示庄家牌力",而那其实是 design §8.2 的「亮牌」
——两边撞车。改用「底」字族,与已有的「扣底」成套:

| 术语 | 含义 | 谁看得到 |
| 摸底 | 庄家坐定后把 8 张底牌摸起查看并入手牌 | 仅庄家 |
| 开底 | 70 分坐庄,摸底【之前】向全场翻开 3 秒 | 全场 |
| 查底牌 | 对局中随时回看这 8 张(前端底栏按钮) | 庄家全程;闲家仅开底过的局 |
| 扣底 | 末轮闲家用主牌赢下,翻开埋牌底牌计分(原有) | —— |

三份文档同步:design 术语表新增三条并更新易混对照、§4/§12.1/§12.3 正文
改用新词;protocol §0.0b 与 ancard3s 字段说明同步;前端清单 §0.0 补「底」
字族对照表,§1.4、§2.6 相应改写。

口诀相应更新为:「亮牌」「余主公示」是统计类,「明牌」「开底」是牌面类。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-08-25 23:34:18 +08:00
co-authored by Claude Opus 5
parent 6ec6bdbbc2
commit dc9123da92
3 changed files with 33 additions and 19 deletions
+16 -7
View File
@@ -59,9 +59,18 @@
| **亮牌** | 庄家 → 两个闲家 | **只有数量/结构** | 庄家埋牌后手牌达门槛(design §8.2) | **暂无**(T-30) | `liangpai` |
| **余主公示** | 全体 → 全体 | **只有数量**(剩余主牌数、主对数) | 任一玩家报无主(design §9) | 他家头像下 `主N` `对N` 角标(§2.5) | `seatlist[seat][4]`、`baozhu` |
| **明牌** | 他家 → 请求者 | **具体牌面** | 可查牌 + 无主,点按钮(design §9) | 遮罩面板(§1.7 D-6) | `mingpai.others[].zhucards` |
| **底牌公示** | 桌面 → 所有玩家 | **具体牌面**(8 张底牌) | 70 分坐庄,摸底牌前 3 秒(design §4) | 复用底牌区翻牌(§1.4 D-2) | `ancard3s` + `bottomcards` |
| **开底** | 桌面 → 所有玩家 | **具体牌面**(8 张底牌) | 70 分坐庄,**摸底之前** 3 秒(design §4) | 复用底牌区翻牌(§1.4 D-2) | `ancard3s` + `bottomcards` |
一句话记:**「亮牌」「余主公示」只给数字,「明牌」「底牌公示」才给牌面**。
一句话记:**「亮牌」「余主公示」是统计类,「明牌」「开底」是牌面类**。
另有一组「底」字族专管发牌留桌的那 8 张牌:
| 术语 | 含义 | 前端对应 |
| --- | --- | --- |
| **摸底** | 庄家坐定后把 8 张底牌摸起查看并入手牌 | 底牌区翻正面(非 70 分只有庄家看得到) |
| **开底** | 70 分坐庄,摸底**之前**向全场翻开 3 秒 | 同上,但闲家侧也翻开 |
| **查底牌** | 对局中随时回看这 8 张 | 底栏 `底牌` 按钮(§2.6) |
| **扣底** | 末轮闲家用主牌赢下,翻开**埋牌底牌**计分 | 底栏 `扣底` 按钮看的是埋牌底牌 |
> **「亮主」不是术语**——它是**选主界面的标题文案**(庄家选主牌花色那一步,见 `亮主.png`),与上表四项都无关。文档与代码里不要拿它指代任何规则。
>
@@ -520,17 +529,17 @@ EQW_RoomOptions = {
| 常规坐庄 | 无 `ancard3s` | 庄家收到 `bottomcards`(8 张)与 `cards`(36 张)→ 底牌翻正面短暂展示后并入手牌;闲家**收不到** `bottomcards`,底牌区直接收起 |
| **70 分坐庄** | `ancard3s === 1` | **全场三家都收到 `bottomcards`** → 8 张底牌翻正面**向所有玩家亮 3 秒**(design §4/§7.1),3 秒后庄家摸入手牌、闲家侧收起 |
- **底牌 3 秒展示(D-2 已定)**:**复用「庄家自己翻开底牌」那套 UI**(见 `叫分确定庄.png`——中央 8 张牌由背面翻正面),**不要倒计时**。
- **开底(D-2 已定)**:**复用「庄家摸底时翻开底牌」那套 UI**(见 `叫分确定庄.png`——中央 8 张牌由背面翻正面),**不要倒计时**。
两种情形用的是**同一套界面**,唯一差别是**谁能看到**:
| 情形 | 谁能看到这 3 秒 |
| --- | --- |
| 非 70 分坐庄 | **只有庄家自己**(闲家侧那 8 张保持背面/直接收起) |
| **70 分坐庄** | **全场三人都能看到** |
| 非 70 分坐庄(只有**摸底**) | **只有庄家自己**(闲家侧那 8 张保持背面 / 直接收起) |
| **70 分坐庄**(**开底** → 摸底) | **全场三人都能看到** 3 秒 |
因此**不需要单独的「公示」面板**,只是同一套翻牌表现的可见范围不同——精灵复用 §5.3 群组 211(底牌区),无需新增。
【图:等待庄家选主.png】即闲家视角下的底牌公示:中央 8 张底牌翻正面摊开,下方一条 `等待庄家选主` 状态提示条(见 §2.8)。
【图:等待庄家选主.png】即闲家视角下的**开底**:中央 8 张底牌翻正面摊开,下方一条 `等待庄家选主` 状态提示条(见 §2.8)。
> ⚠️ **T-32**:该图里底牌**仍摊着**、同时提示「等待庄家选主」。但 design §4 的顺序是「公示 3 秒 → 庄家摸入手牌 → 选主」——按此,选主阶段底牌应已被庄家摸走、不该还摊在桌面。是 mock 把两个状态画在一起,还是 70 分局的底牌要一直摊到庄家选完主?需确认。
- 上庄后统一更新:顶部信息条 `叫分` 列 = `grade`、角标 = `multiple`;`banker` 对应玩家位显示 **`庄` 印章**(含底栏自己位)。
@@ -948,7 +957,7 @@ y≈648–720 深色条。左侧头像/昵称/分数由平台渲染(§0.2)
| `出牌历史` | 所有人**出过的全部牌** | 可查牌 + 出牌阶段 |
| `明牌` | 另两家手中全部主牌的具体牌面 | 可查牌 + 出牌阶段 + **已报无主** |
| **`扣底`** | **埋牌底牌**:庄家埋下的 8 张 | **仅庄家** + 已埋牌之后 |
| **`底牌`** | **底牌**:发牌时没发给玩家、留在桌面的 8 张 | 庄家全程;闲家仅 70 分坐庄局(S-3) |
| **`底牌`**(**查底牌**) | **底牌**:发牌时没发给玩家、留在桌面的 8 张 | 庄家全程;闲家仅**开底**过的局(70 分坐庄)(S-3) |
> ### 术语已统一:按钮名 = 术语名
>
+12 -9
View File
@@ -50,7 +50,9 @@
| 亮牌 | 庄家埋牌后手牌达到门槛(固定主牌 ≥10 / 王 ≥3 / 7 ≥6 / 2 ≥6)时,向两个闲家公开对应的**数量与结构**统计——**只亮数量 / 结构,不亮具体是哪几张牌**(见第 8.2 节)|
| 余主公示 | 任一玩家主牌出空(报无主)后,为**全体三人**展示另外两家各自的**剩余主牌数与剩余主对数**(见第 9 节)。只给数量,不给具体牌面 |
| 明牌 | 可查牌模式下,查看另外两家手中**全部未出主牌的具体牌面**(见第 9 节)。与"亮牌""余主公示"只给数量不同,明牌给的是具体牌 |
| 底牌公示 | 70 分坐庄时,在庄家摸底牌之前,把那 8 张底牌向**所有玩家**亮出 3 秒(见第 4 节)。给的是具体牌面 |
| 摸底 | 庄家坐定后把那 8 张**底牌**摸起查看并并入手牌(见第 4 节)。**非 70 分坐庄时只有庄家看得到这 8 张** |
| 开底 | **70 分坐庄**时,在庄家摸底**之前**,先把这 8 张底牌向**所有玩家**翻开 3 秒,之后才由庄家摸入手牌(见第 4 节)。给的是具体牌面 |
| 查底牌 | 对局中随时回看那 8 张底牌的功能(前端底栏按钮)。庄家全程可用;闲家仅在**开底**过的局(即 70 分坐庄)可用 |
| 拖拉机 | 同一花色(含主牌)里点数相邻的连续对子,如 K K Q Q 为"两托"(两连对) |
| 甩牌 | 首家出牌时,一次性打出多组主牌组合(单张 / 对子 / 拖拉机自由搭配);仅主牌可以甩牌,副牌禁止甩牌,只能分单张 / 对子 / 拖拉机依次打出(见第 5.4 节) |
| 毙牌 | 跟牌时手中没有本轮花色(缺门),改用主牌打出、且牌面大过本轮目前所有人的牌(见第 5.1 / 5.2 节) |
@@ -74,9 +76,10 @@
> | **亮牌** | 庄家 → 两个闲家 | **只有数量/结构** | 庄家埋牌后手牌达门槛(§8.2) | `liangpai` |
> | **余主公示** | 全体 → 全体 | **只有数量**(剩余主牌数、主对数) | 任一玩家报无主(§9) | `seatlist[seat][4]` + `baozhu` |
> | **明牌** | 他家 → 请求者 | **具体牌面**(他家全部未出主牌) | 可查牌 + 报无主,主动点击(§9) | `mingpai.others[].zhucards` |
> | **底牌公示** | 桌面 → 所有玩家 | **具体牌面**(8 张底牌) | 70 分坐庄,摸底牌前 3 秒(§4) | `ancard3s` + `bottomcards` |
> | **开底** | 桌面 → 所有玩家 | **具体牌面**(8 张底牌) | 70 分坐庄,**摸底之前** 3 秒(§4) | `ancard3s` + `bottomcards` |
>
> 一句话记:**「亮牌」「余主公示」只给数字,「明牌」「底牌公示」才给牌面**。
> 一句话记:**「亮牌」「余主公示」是统计类,「明牌」「开底」是牌面类**。
> 另有一组「底」字族专管那 8 张底牌:**摸底**(庄家摸起看)、**开底**(70 分时全场看 3 秒)、**查底牌**(随时回看)、**扣底**(末轮翻开埋牌底牌计分)。
> 另注:**「亮主」不是本文档的术语**——它是前端选主界面的标题文案(庄家选主牌花色那一步),与上表四项无关。
---
@@ -125,14 +128,14 @@
- **暂定庄家必须叫分,不能"不叫"**:叫分从暂定庄家开始,他必须报出一个 5 ~ 70 之间的具体分数,不存在"暂定庄家弃权、三家都不叫"这种情况;起始叫分确定之后,后面的玩家才可以选择"叫出更低的分数"或"不叫"。
- 若某玩家直接叫出 5 分,则无人能再压过,立即确定为庄家。
- 若一家叫分后,另外两家都选择"不叫",则该叫分玩家成为本局庄家。
3. 庄家确定后摸底牌(摸完后庄家共 36 张):
3. **摸底**:庄家确定后把 8 张底牌摸入手牌(摸完后庄家共 36 张):
- **非 70 分坐庄**:桌面 8 张底牌**只有庄家可见**,庄家查看后摸入手牌。
- **70 分坐庄**(触发**底牌公示**):在庄家摸底牌**之前**,先把这 8 张底牌**向所有玩家(含两个闲家)亮出 3 秒**,然后才由庄家把它们摸入手牌。
- **70 分坐庄**(触发**开底**):在庄家**摸底**之前,先把这 8 张底牌**向所有玩家(含两个闲家)翻开 3 秒**,然后才由庄家把它们摸入手牌。
4. **选主 / 投降(同一决策点,二选一,互斥)**:
- **选主**:庄家在 4 个花色中选定一个作为本局主牌(见第 3 节)→ 进入下一步埋牌、随后出牌。
- **投降**:仅当**叫分为 70 分**时,此决策点才额外提供"投降"选项;选择投降表示放弃本局,**直接结束、不再选主、不埋牌、不出牌**,按 7.1 节"70 分坐庄 · 投降"的固定结果结算(基础子数 1 个,庄家直接输;算奖仍照常,见 8.4 节)。选主与投降互斥——**选了花色就等于放弃投降、正常打牌;选了投降就不再选主**。
- 叫分 < 70 分时没有投降选项,只能选主。
- (70 分坐庄的 8 张底牌向所有玩家亮 3 秒,发生在上一步"庄家摸底牌之前",见步骤 3。)
- (**开底**——70 分坐庄的 8 张底牌向所有玩家翻开 3 秒,发生在上一步"庄家摸底之前",见步骤 3。)
- **前端表现**:此阶段界面显示 4 个花色选主按钮,且**每个花色按钮上要显示该花色在庄家手中有多少对**(供庄家判断选哪门为主);70 分坐庄时并列再显示一个投降按钮。
5. **埋牌**(仅"选主/打牌"路径):庄家从 36 张里选出 8 张牌重新扣下("埋牌"),作为"埋牌底牌",供最后判断"扣底"使用;埋牌后庄家保留 28 张。(**本局先选主、后埋牌**——庄家先定主牌花色,知道主副后再决定埋哪 8 张。)
6. 坐庄轮换规则(决定下一局的"暂定庄家"):
@@ -720,12 +723,12 @@ 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. **摸底**:庄家坐定后把 8 张底牌摸入手牌(摸完共 36 张)。非 70 分:这 8 张仅庄家可见。**70 分坐庄先触发「开底」:庄家摸底之前,先把这 8 张向所有玩家翻开 3 秒,再摸入手牌**(4.4 / 第 4 节)。
5. **选主 / 投降(同一决策点,二选一,互斥)**(第 4 节):
- **选主**:庄家选定一门花色为本局主牌(大王、小王、所有花色的 2、7 恒为主牌)→ 进入下一步埋牌。前端此阶段每个花色按钮上要显示该花色在庄家手中的对子数;70 分坐庄时并列显示投降按钮。
- **投降**:仅 70 分坐庄才有此选项;选投降即放弃本局,**不选主、不埋牌、不出牌**,直接按 7.1"70 分 · 投降"结算(算奖仍按下方 8 计,但用庄家 36 张、无主牌花色)。选花色就等于放弃投降、正常打牌。
- (70 分的 8 张底牌亮 3 秒发生在步骤 4"摸底牌之前"。)
- (**开底**——70 分的 8 张底牌翻开 3 秒,发生在步骤 4"摸底之前"。)
6. **埋牌**(第 4 节,仅"选主/打牌"路径):庄家从 36 张里选 8 张重新扣下作为"埋牌底牌"(供最后"扣底"判断),保留 28 张。(**先选主、后埋牌**。)
@@ -752,7 +755,7 @@ A - K - Q - J - 10 - 9 - 8 - 6 - 5
### 12.3 阶段速览
```
建房(§10) → 发牌(§2) → 叫分坐庄(§4.2) → 看底牌 → 选主(§3) → 埋牌(§4)
建房(§10) → 发牌(§2) → 叫分坐庄(§4.2) → 摸底[70分先开底] → 选主(§3) → 埋牌(§4)
→ [70分:投降/打牌决策(§4.4)] → 出牌对局(§5,§6.1-6.2) → 末轮扣底(§6.3)
→ 小局结算=算子(§7)+算奖(§8) → 轮庄(§4.6) → 下一局 …… 打满局数 → 大局结算
```
@@ -32,9 +32,11 @@
| **亮牌** | 庄家 → 两个闲家 | **只有数量/结构** | 庄家埋牌后手牌达门槛(design §8.2) | `liangpai` |
| **余主公示** | 全体 → 全体 | **只有数量**(剩余主牌数、主对数) | 任一玩家报无主(design §9) | `seatlist[seat][4]`、`baozhu` |
| **明牌** | 他家 → 请求者 | **具体牌面**(他家全部未出主牌) | 可查牌 + 报无主,主动点击(design §9) | `mingpai.others[].zhucards` |
| **底牌公示** | 桌面 → 所有玩家 | **具体牌面**(8 张底牌) | 70 分坐庄,摸底牌前 3 秒(design §4) | `ancard3s` + `bottomcards` |
| **开底** | 桌面 → 所有玩家 | **具体牌面**(8 张底牌) | 70 分坐庄,**摸底之前** 3 秒(design §4) | `ancard3s` + `bottomcards` |
一句话记:**「亮牌」「余主公示」只给数字,「明牌」「底牌公示」才给牌面**。
一句话记:**「亮牌」「余主公示」是统计类,「明牌」「开底」是牌面类**。
另有一组「底」字族专管发牌留桌的那 8 张:**摸底**(庄家摸起看,仅庄家)、**开底**(70 分时全场看 3 秒)、**查底牌**(对局中随时回看)、**扣底**(末轮翻开埋牌底牌计分)。
(「亮主」不是术语,是前端选主界面的标题文案,与上表无关。)
### 0.1 成败标志 `data.success`
@@ -169,7 +171,7 @@
| grade | 整数 | 庄家的叫分 |
| multiple | 整数 | 叫分对应的基础子数 `get_base_bycall(call, climb)`,**随房间「爬坡」开关取值**(roomtype 位3):常规算子 65→2 60→3 55→4 50及以下→6;爬坡 65→2 60→3 55→4 50→6 45→7 40→8 35→9 30→10 25→11 20→12 15→13 10→14 5→15;两种模式下 70→2;无叫分→0。与结算包 `aset.multiple` 同源同值(design §7.1/§7.3.1)|
| bottomcards | 数组 | 8 张**底牌**(发牌时没发给玩家、扣在桌面的 8 张)。**庄家恒有**;**闲家仅当 70 分坐庄时才有**(供 3 秒亮牌用),非 70 分时闲家没有该属性(底牌只有庄家可见,design §4)|
| ancard3s | 整数 | **底牌公示**标志。仅 70 分坐庄时出现且为 `1`:表示庄家把底牌摸入手前,需将 `bottomcards` 这 8 张**底牌**向所有玩家亮出 3 秒(design §4/§7.1);非 70 分无此属性 |
| ancard3s | 整数 | **开底**标志。仅 70 分坐庄时出现且为 `1`:表示庄家**摸底**之前,需将 `bottomcards` 这 8 张**底牌**向所有玩家翻开 3 秒(design §4/§7.1);非 70 分无此属性 |
| cards | 数组 | 拿了底牌后手上的牌(36 张,含底牌),庄家才有此属性,闲家没有该属性 |
| countdown | 整数 | 选主倒计时 |
| touxiang | 整数 | 是否允许投降 0:不允许 1:允许(仅 70 分坐庄为 1)。投降与选主互斥、同为选主阶段(step2)的决策,见 touxiang 包与 design §4 |