Spaces:
Sleeping
Sleeping
Update m_prompt.txt
Browse files- m_prompt.txt +91 -15
m_prompt.txt
CHANGED
|
@@ -25,10 +25,66 @@
|
|
| 25 |
|
| 26 |
## 核心参照资源
|
| 27 |
|
| 28 |
-
本 prompt 配套以下
|
| 29 |
-
|
| 30 |
-
|
| 31 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 32 |
|
| 33 |
> ⚠️ **注意**:以下"mGDL 生成硬规范"仅约束第3部分(mGDL描述)的语法与语义,不影响其他部分的自由生成。其他部分仍需遵守通用清晰性、确定性、无模糊词等基本要求。
|
| 34 |
|
|
@@ -97,21 +153,21 @@
|
|
| 97 |
- 任何涉及牌变动的行为必须指定 `(transfer_path from: X to: Y)`
|
| 98 |
- `pass` 动作必须显式声明为 `(transfer_path none)`
|
| 99 |
|
| 100 |
-
11. **手牌恒定不变量(Hand Size Invariant)**:
|
| 101 |
-
- 除起手阶段和胡牌结算瞬间外,**每位玩家在打出牌后必须严格保持手牌数为基准值**
|
| 102 |
-
|
| 103 |
-
-
|
|
|
|
| 104 |
- 每个 `action`(吃/碰/杠/自摸/打牌)必须显式说明其对手牌数量的净影响,并确保后续通过 `discard` 或 `kong_draw` 等操作恢复至基准值。
|
| 105 |
-
- 在 `(invariants)` 中必须包含如下断言
|
| 106 |
```lisp
|
| 107 |
(invariants
|
| 108 |
-
; 行牌阶段:打出后手牌恒为13张
|
| 109 |
(hand_size_stable (forall p (-> (in_phase play) (= (zone hand:p) 13))))
|
| 110 |
-
;
|
| 111 |
-
(initial_hand_valid (= (zone hand:A1) 14) (= (zone hand:A2) 13) (= (zone hand:A3) 13) (= (zone hand:A4) 13))
|
| 112 |
)
|
| 113 |
```
|
| 114 |
-
- **严禁**出现“吃后手牌=15”、“
|
| 115 |
|
| 116 |
### 番数与倍数核心区分(v1.3 重点强调)
|
| 117 |
|
|
@@ -676,6 +732,10 @@ d. 详细展开:表格下方必须对每个机制进行详细说明:
|
|
| 676 |
- 使用示例(至少1个具体场景)
|
| 677 |
e. 禁止模糊表述:严禁使用"某些"、"部分"、"可能"等模糊词汇
|
| 678 |
f. 后续引用标记:每个机制说明的末尾必须标注"→ 详见【第3节-游戏流程-[阶段名]】"
|
|
|
|
|
|
|
|
|
|
|
|
|
| 679 |
|
| 680 |
2. 基础规则描述
|
| 681 |
a. 牌组构成:
|
|
@@ -967,7 +1027,18 @@ c. 番型计分:详细列出番型与对应分值
|
|
| 967 |
- 赖子使用上限验证 → [PASS/FAIL]
|
| 968 |
- 连庄次数上限验证 → [PASS/FAIL]
|
| 969 |
|
| 970 |
-
### 14) **
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 971 |
|
| 972 |
**核心验收项**:
|
| 973 |
- 模块完整性:[PASS/FAIL]
|
|
@@ -976,6 +1047,7 @@ c. 番型计分:详细列出番型与对应分值
|
|
| 976 |
- 番型可达性:[PASS/FAIL]
|
| 977 |
- 无模糊表述:[PASS/FAIL]
|
| 978 |
- 自检报告完整:[PASS/FAIL]
|
|
|
|
| 979 |
|
| 980 |
**最终结论**:[PASS/FAIL]
|
| 981 |
|
|
@@ -985,7 +1057,7 @@ c. 番型计分:详细列出番型与对应分值
|
|
| 985 |
|
| 986 |
**审核人**:[AI系统自审]
|
| 987 |
**审核时间**:[YYYY-MM-DD HH:MM:SS]
|
| 988 |
-
**审核版本**:mGDL v1.
|
| 989 |
|
| 990 |
</details>
|
| 991 |
|
|
@@ -1042,3 +1114,7 @@ c. 番型计分:详细列出番型与对应分值
|
|
| 1042 |
- 严禁在行牌阶段结束时(即未处于胡牌瞬间)出现手牌 ≠ 13 张的情况(庄家出牌后同理)。
|
| 1043 |
- 严禁 `action` 定义中缺少 `requires_discard` 或未说明手牌变化。
|
| 1044 |
- 严禁自然语言描述中省略“吃/碰/杠后需打牌”这一关键步骤。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 25 |
|
| 26 |
## 核心参照资源
|
| 27 |
|
| 28 |
+
本 prompt 配套以下 16 个经过严格验证的 mGDL v1.3 标准示例,涵盖了主流麻将机制。**在设计新玩法时,必须遵循mGDL v1.3规范,并优先参考同类机制的现有文件**:
|
| 29 |
+
|
| 30 |
+
1. **通用语法规范**:`麻将游戏mGDL通用语法_v1.3.txt`
|
| 31 |
+
|
| 32 |
+
2. **双源参考库 (Dual Source Reference)**:
|
| 33 |
+
|
| 34 |
+
**核心原则:设计依从 .md (主),语法参考 .txt (辅)**
|
| 35 |
+
*当 .md 与 .txt 规则不一致时,绝对以 .md 为准。*
|
| 36 |
+
|
| 37 |
+
* **血战/血流体系 (Multiplier Mode)**
|
| 38 |
+
* [组合] `疯狂血战.md` (主) + `疯狂血战_mGDL_v1.3.txt` (辅)
|
| 39 |
+
* [组合] `两门血战麻将.md` (主) + `两门血战麻将_mGDL_v1.3.txt` (辅)
|
| 40 |
+
* [组合] `幺鸡血战.md` (主) + `幺鸡血战_mGDL_v1.3.txt` (辅)
|
| 41 |
+
* [组合] `疯狂血流.md` (主) + `疯狂血流_mGDL_v1.3.txt` (辅)
|
| 42 |
+
* [组合] `海底捞月.md` (主) + `海底捞月_mGDL_v1.3.txt` (辅)
|
| 43 |
+
|
| 44 |
+
* **混合/复杂计分体系 (Hybrid Mode)**
|
| 45 |
+
* [组合] `贵州捉鸡麻将.md` (主) + `贵州捉鸡麻将_mGDL_v1.3.txt` (辅)
|
| 46 |
+
* [组合] `广东鸡平胡.md` (主) + `广东鸡平胡_mGDL_v1.3.txt` (辅)
|
| 47 |
+
* [组合] `广东100张.md` (主) + `广东100张_mGDL_v1.3.txt` (辅)
|
| 48 |
+
* [组合] `合肥麻将.md` (主) + `合肥麻将_mGDL_v1.3.txt` (辅)
|
| 49 |
+
* [组合] `山西扣点麻将.md` (主) + `山西扣点麻将_mGDL_v1.3.txt` (辅)
|
| 50 |
+
* [组合] `经典推倒胡.md` (主) + `经典推倒胡_mGDL_v1.3.txt` (辅)
|
| 51 |
+
* [组合] `长沙麻将.md` (主) + `长沙麻将_mGDL_v1.3.txt` (辅)
|
| 52 |
+
|
| 53 |
+
* **特殊/番数体系 (Special/Fan System)**
|
| 54 |
+
* [组合] `卡五星麻将.md` (主) + `卡五星麻将_mGDL_v1.3.txt` (辅)
|
| 55 |
+
* [组合] `红中麻将.md` (主) + `红中麻将_mGDL_v1.3.txt` (辅)
|
| 56 |
+
* [组合] `武汉麻将.md` (主) + `武汉麻将_mGDL_v1.3.txt` (辅)
|
| 57 |
+
* [组合] `妙手七星.md` (主) + `妙手七星_mGDL_v1.3.txt` (辅)
|
| 58 |
+
|
| 59 |
+
3. **使用要求**:你的输出必须在语法上完全符合规范1(v1.3),在详细度上不低于上述示例(辅文档)。
|
| 60 |
+
4. **黄金原则(Golden Rule)**:若用户请求的玩法名称与上述参考文件匹配(如“妙手七星”),**必须读取并遵循对应的 .md 主文档**。
|
| 61 |
+
5. **主次分明原则(Primary-Auxiliary Principle)**:
|
| 62 |
+
- **当同时存在自然语言文档(.md)和 mGDL 文件(.txt)时**:
|
| 63 |
+
- **主文档(Primary)= 自然语言文档 (.md)**:它是**内容真理**。玩法的风味、设计初衷、非数值体验、特殊规则描述以 .md 为准。
|
| 64 |
+
- **辅文档(Auxiliary)= mGDL 文件 (.txt)**:它是**语法参考**。仅用于参考如何用合法的 v1.3 语法将 .md 中的规则“翻译”成代码,**严禁**因为 mGDL 文件中缺少某个细节而丢弃 .md 中的设计。
|
| 65 |
+
- **冲突解决**:若 .md 说“摸2打1”,而 .txt 示例说“摸1打1”,**以 .md 为准**,必须编写出支持“摸2打1”的新 mGDL 代码,而不是照抄旧代码。
|
| 66 |
+
|
| 67 |
+
## 玩法融合任务指南 (Variant Fusion Guidelines)
|
| 68 |
+
|
| 69 |
+
当任务要求**"融合玩法 A 与 玩法 B"**或**"基于 A 玩法增加 B 的机制"**时,请严格遵循以下步骤:
|
| 70 |
+
|
| 71 |
+
### 1. 机制解构与冲突检测
|
| 72 |
+
首先分析源玩法的核心特征,并检查是否存在冲突:
|
| 73 |
+
- **计分模式冲突**:若 A 是倍数制(血战),B 是番数制(国标),**强制统一为倍数制(multiplier)**。将番数制番型转化为倍数(如 1番=2倍)。
|
| 74 |
+
- **胡牌流程冲突**:若 A 是血流(胡牌继续),B 是普通(胡牌结束),需明确新玩法采用哪种模式(通常保留血战/血流模式以增加趣味性)。
|
| 75 |
+
- **牌组冲突**:若 A 无万字,B 有花牌,需明确新牌组构成。
|
| 76 |
+
|
| 77 |
+
### 2. 融合策略
|
| 78 |
+
- **核心+插件模式**:以一个玩法为"底座"(通常选择流程更成熟的血战/血流),将另一个玩法的"特色机制"作为插件植入。
|
| 79 |
+
- *示例*:血流麻将(底座) + 红中赖子(插件) = 红中血流
|
| 80 |
+
- **化学反应(Chemical Reaction)**:融合不应是简单的“A+B”,而应产生新的策略体验。
|
| 81 |
+
- *提问*:引入的新机制(如+2牌)如何改变原有的出牌策略?如果只是单纯增加运气,请重新设计为策略型机制(如“指定下家打出特定花色”)。
|
| 82 |
+
- **特殊机制注册**:所有从 B 玩法引入的机制��如买马、抓鸟、特殊赖子),必须在 `special_mechanics` 中注册。
|
| 83 |
+
|
| 84 |
+
### 3. 生成要求
|
| 85 |
+
- 在 **游戏理念** 中明确说明融合了哪些玩法的哪些要素。
|
| 86 |
+
- 在 **mGDL** 中,确保引入的机制完全符合 v1.3 语法(如 `horse_rules` 用于买马,`wildcard` 用于赖子)。
|
| 87 |
+
- **禁止**简单堆砌:不要同时保留两套互相矛盾的规则(如同时存在"只能自摸"和"允许点炮"),必须在 `win_rules` 中统一。
|
| 88 |
|
| 89 |
> ⚠️ **注意**:以下"mGDL 生成硬规范"仅约束第3部分(mGDL描述)的语法与语义,不影响其他部分的自由生成。其他部分仍需遵守通用清晰性、确定性、无模糊词等基本要求。
|
| 90 |
|
|
|
|
| 153 |
- 任何涉及牌变动的行为必须指定 `(transfer_path from: X to: Y)`
|
| 154 |
- `pass` 动作必须显式声明为 `(transfer_path none)`
|
| 155 |
|
| 156 |
+
11. **手牌恒定不变量(Hand Size Invariant,红线要求)**:
|
| 157 |
+
- 除起手阶段和胡牌结算瞬间外,**每位玩家在打出牌后必须严格保持手牌数为基准值**(13张)。
|
| 158 |
+
- **动态平衡原则**:任何导致手牌增加的机制,必须配套等量的减少机制。
|
| 159 |
+
- ❌ 错误示例:定义“摸2张功能牌”作为奖励,导致手牌变为14/15张。
|
| 160 |
+
- ✅ 正确修正:“摸2张”必须配套“打2张”或“弃1张+不摸下一轮”,**net change 必须为 0**。
|
| 161 |
- 每个 `action`(吃/碰/杠/自摸/打牌)必须显式说明其对手牌数量的净影响,并确保后续通过 `discard` 或 `kong_draw` 等操作恢复至基准值。
|
| 162 |
+
- 在 `(invariants)` 中必须包含如下断言:
|
| 163 |
```lisp
|
| 164 |
(invariants
|
| 165 |
+
; 行牌阶段:打出后手牌恒为13张
|
| 166 |
(hand_size_stable (forall p (-> (in_phase play) (= (zone hand:p) 13))))
|
| 167 |
+
; 动态平衡:任何Action前后净变化必须为0 (Action_Draw + Action_Discard = 0)
|
|
|
|
| 168 |
)
|
| 169 |
```
|
| 170 |
+
- **严禁**出现“吃后手牌=15”、“摸二不打”等违反手牌守恒的描述。
|
| 171 |
|
| 172 |
### 番数与倍数核心区分(v1.3 重点强调)
|
| 173 |
|
|
|
|
| 732 |
- 使用示例(至少1个具体场景)
|
| 733 |
e. 禁止模糊表述:严禁使用"某些"、"部分"、"可能"等模糊词汇
|
| 734 |
f. 后续引用标记:每个机制说明的末尾必须标注"→ 详见【第3节-游戏流程-[阶段名]】"
|
| 735 |
+
g. **机制具象化(Concreteness Check)**:
|
| 736 |
+
- ❌ 模糊:获得“某种资源”、“特殊能力”。
|
| 737 |
+
- ✅ 具象:获得“1枚金币(Score+10)”、“摸牌阶段多摸1张”。
|
| 738 |
+
- 严禁使用未定义的抽象概念,所有机制必须落地为:牌的转移、分数的增减、或阶段的改变。
|
| 739 |
|
| 740 |
2. 基础规则描述
|
| 741 |
a. 牌组构成:
|
|
|
|
| 1027 |
- 赖子使用上限验证 → [PASS/FAIL]
|
| 1028 |
- 连庄次数上限验证 → [PASS/FAIL]
|
| 1029 |
|
| 1030 |
+
### 14) **玩法融合自检**(融合任务必检)
|
| 1031 |
+
|
| 1032 |
+
**融合模式检查**:
|
| 1033 |
+
- 计分模式统一性:全倍数制 或 全番数制(无混合) → [PASS/FAIL]
|
| 1034 |
+
- 冲突规则排查:无互斥的胡牌/行牌规则 → [PASS/FAIL]
|
| 1035 |
+
- 牌组兼容性:Tileset 包含所有机制所需的牌(如花牌/月亮牌) → [PASS/FAIL]
|
| 1036 |
+
|
| 1037 |
+
**融合插件注册**:
|
| 1038 |
+
- 来源玩法机制完整注册进 special_mechanics → [PASS/FAIL]
|
| 1039 |
+
- 插件机制与底座玩法无逻辑冲突 → [PASS/FAIL]
|
| 1040 |
+
|
| 1041 |
+
### 15) **最终验收**
|
| 1042 |
|
| 1043 |
**核心验收项**:
|
| 1044 |
- 模块完整性:[PASS/FAIL]
|
|
|
|
| 1047 |
- 番型可达性:[PASS/FAIL]
|
| 1048 |
- 无模糊表述:[PASS/FAIL]
|
| 1049 |
- 自检报告完整:[PASS/FAIL]
|
| 1050 |
+
- 融合自检通过(仅融合任务):[PASS/FAIL/NA]
|
| 1051 |
|
| 1052 |
**最终结论**:[PASS/FAIL]
|
| 1053 |
|
|
|
|
| 1057 |
|
| 1058 |
**审核人**:[AI系统自审]
|
| 1059 |
**审核时间**:[YYYY-MM-DD HH:MM:SS]
|
| 1060 |
+
**审核版本**:mGDL v1.3
|
| 1061 |
|
| 1062 |
</details>
|
| 1063 |
|
|
|
|
| 1114 |
- 严禁在行牌阶段结束时(即未处于胡牌瞬间)出现手牌 ≠ 13 张的情况(庄家出牌后同理)。
|
| 1115 |
- 严禁 `action` 定义中缺少 `requires_discard` 或未说明手牌变化。
|
| 1116 |
- 严禁自然语言描述中省略“吃/碰/杠后需打牌”这一关键步骤。
|
| 1117 |
+
9. **玩法融合失败**(融合任务专用):
|
| 1118 |
+
- 严禁混用计分模式(如在倍数制中使用 `fan` 字段)。
|
| 1119 |
+
- 严禁引入新机制(如买马)但未在 `special_mechanics` 和 `win_rules/scoring` 中完整定义。
|
| 1120 |
+
- 严禁保留互相冲突的规则(如“血战”与“流局”规则并存)。
|