Spaces:
Sleeping
Sleeping
Upload 16 files
Browse files- 两门血战麻将_mGDL_v1.3.txt +163 -0
- 卡五星麻将_mGDL_v1.3.txt +178 -0
- 合肥麻将_mGDL_v1.3.txt +146 -0
- 妙手七星_mGDL_v1.3.txt +159 -0
- 山西扣点麻将_mGDL_v1.3.txt +149 -0
- 幺鸡血战_mGDL_v1.3.txt +150 -0
- 广东100张_mGDL_v1.3.txt +417 -0
- 广东鸡平胡_mGDL_v1.3.txt +147 -0
- 武汉麻将_mGDL_v1.3.txt +142 -0
- 海底捞月_mGDL_v1.3.txt +138 -0
- 疯狂血战_mGDL_v1.3.txt +188 -0
- 疯狂血流_mGDL_v1.3.txt +190 -0
- 红中麻将_mGDL_v1.3.txt +168 -0
- 经典推倒胡_mGDL_v1.3.txt +118 -0
- 贵州捉鸡麻将_mGDL_v1.3.txt +219 -0
- 长沙麻将_mGDL_v1.3.txt +140 -0
两门血战麻将_mGDL_v1.3.txt
ADDED
|
@@ -0,0 +1,163 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
(game "Liangmen_Xuezhan_Mahjong" (version "1.3.0")
|
| 2 |
+
;; =========================
|
| 3 |
+
;; 1. 元信息 & 概览
|
| 4 |
+
;; =========================
|
| 5 |
+
|
| 6 |
+
(game_variant "blood_war")
|
| 7 |
+
(rule_profile
|
| 8 |
+
(blood_mode "xuezhan") ; 血战模式
|
| 9 |
+
(scoring_mode "multiplier") ; 倍数制
|
| 10 |
+
(has_wildcard false)
|
| 11 |
+
(has_horse false)
|
| 12 |
+
(has_contract false)
|
| 13 |
+
(has_multi_round false)
|
| 14 |
+
(has_ting_system true) ; 有报叫系统
|
| 15 |
+
(has_chicken_system false)
|
| 16 |
+
(has_bean_system false)
|
| 17 |
+
)
|
| 18 |
+
|
| 19 |
+
;; =========================
|
| 20 |
+
;; 2. Rule-Core:玩法本体
|
| 21 |
+
;; =========================
|
| 22 |
+
|
| 23 |
+
(players 4)
|
| 24 |
+
(seats [ "A1" "A2" "A3" "A4" ])
|
| 25 |
+
(turn_order
|
| 26 |
+
(order cyclic A1 A2 A3 A4)
|
| 27 |
+
(on_peng_keep_turn true)
|
| 28 |
+
(on_gang_keep_turn true)
|
| 29 |
+
)
|
| 30 |
+
|
| 31 |
+
;; ---- 牌组定义 ----
|
| 32 |
+
(tileset
|
| 33 |
+
(suits { "tiao" "tong" }) ; 仅条、筒,无万牌
|
| 34 |
+
(ranks 1..9)
|
| 35 |
+
(copies 4)
|
| 36 |
+
(honors 0) (honor_copies 0)
|
| 37 |
+
(flowers 0)
|
| 38 |
+
(total 72) ; 9×2×4 = 72张
|
| 39 |
+
)
|
| 40 |
+
|
| 41 |
+
(phases [ "setup" "deal" "play" "settle" ])
|
| 42 |
+
|
| 43 |
+
(setup
|
| 44 |
+
(dealer "random")
|
| 45 |
+
(initial_hand 13)
|
| 46 |
+
(choose_que (enabled false))
|
| 47 |
+
(exchange_three (enabled false))
|
| 48 |
+
)
|
| 49 |
+
|
| 50 |
+
;; ---- 行为权限 ----
|
| 51 |
+
(actions
|
| 52 |
+
(allow_chi false)
|
| 53 |
+
(allow_peng true)
|
| 54 |
+
(allow_gang { "concealed" "melded" "added" })
|
| 55 |
+
(one_tile_multi_claim true)
|
| 56 |
+
)
|
| 57 |
+
|
| 58 |
+
;; ---- 胡牌规则 ----
|
| 59 |
+
(win_rules
|
| 60 |
+
(allow_self_draw_win true)
|
| 61 |
+
(allow_discard_win true)
|
| 62 |
+
(allow_gang_win true)
|
| 63 |
+
(allow_rob_kong true)
|
| 64 |
+
(allow_multi_win true)
|
| 65 |
+
|
| 66 |
+
(post_win_continuation
|
| 67 |
+
(mode "xuezhan")
|
| 68 |
+
(winner_exit true)
|
| 69 |
+
(end_when_third_player_wins true)
|
| 70 |
+
)
|
| 71 |
+
)
|
| 72 |
+
|
| 73 |
+
;; =========================
|
| 74 |
+
;; 3. Scoring:计分与番型
|
| 75 |
+
;; =========================
|
| 76 |
+
|
| 77 |
+
(scoring
|
| 78 |
+
(mode "multiplier")
|
| 79 |
+
(base_point 1)
|
| 80 |
+
(explosion_cap_multiplier 32)
|
| 81 |
+
)
|
| 82 |
+
|
| 83 |
+
;; ---- 番型表 ----
|
| 84 |
+
(fan_table
|
| 85 |
+
(stacking "multiply") ; 倍数叠乘
|
| 86 |
+
|
| 87 |
+
;; 基础牌型
|
| 88 |
+
(yaku jibenhu (mult 1) (category "basic") (desc "基本胡"))
|
| 89 |
+
(yaku kaertiao (mult 2) (category "basic") (desc "卡二条"))
|
| 90 |
+
|
| 91 |
+
;; 特殊牌型
|
| 92 |
+
(yaku qingyise (mult 4) (category "special") (desc "清一色"))
|
| 93 |
+
(yaku pengpenghu (mult 4) (category "special") (desc "碰碰胡"))
|
| 94 |
+
(yaku qidui (mult 4) (category "special") (desc "七对"))
|
| 95 |
+
(yaku haohuaqidui (mult 8) (category "special") (desc "豪华七对"))
|
| 96 |
+
(yaku qingpeng (mult 16) (category "special") (desc "清碰"))
|
| 97 |
+
(yaku qingqidui (mult 16) (category "special") (desc "清七对"))
|
| 98 |
+
|
| 99 |
+
;; 事件番型 (Stackable)
|
| 100 |
+
(yaku zimu (mult 2) (category "event") (desc "自摸"))
|
| 101 |
+
(yaku qianggang (mult 2) (category "event") (desc "抢杠"))
|
| 102 |
+
(yaku gangshangpao (mult 2) (category "event") (desc "杠上炮"))
|
| 103 |
+
(yaku gangshangkaihua (mult 2) (category "event") (desc "杠上花"))
|
| 104 |
+
(yaku dihu (mult 2) (category "event") (desc "地胡"))
|
| 105 |
+
(yaku tianhu (mult 4) (category "event") (desc "天胡"))
|
| 106 |
+
|
| 107 |
+
;; 附加番型 (Stackable)
|
| 108 |
+
(yaku gen (mult 2) (category "addon") (desc "根"))
|
| 109 |
+
(yaku duanyaojiu (mult 2) (category "addon") (desc "断幺九"))
|
| 110 |
+
(yaku menqing (mult 2) (category "addon") (desc "门清"))
|
| 111 |
+
(yaku baojiao (mult 16) (category "addon") (desc "报叫倍数"))
|
| 112 |
+
)
|
| 113 |
+
|
| 114 |
+
;; =========================
|
| 115 |
+
;; 4. 特殊机制
|
| 116 |
+
;; =========================
|
| 117 |
+
|
| 118 |
+
;; ---- 报叫系统 ----
|
| 119 |
+
(ting_system
|
| 120 |
+
(enabled true)
|
| 121 |
+
(reveal_hand false) ; 不亮牌
|
| 122 |
+
(auto_play false)
|
| 123 |
+
(multiplier 16) ; 报叫后胡牌x16? 原文是加倍数,这里设为番型
|
| 124 |
+
(penalty_on_fail true) ; 报叫未胡需赔付
|
| 125 |
+
(allow_gang_without_break true)
|
| 126 |
+
(must_win true) ; 有胡必胡
|
| 127 |
+
(show_waiting_tiles true)
|
| 128 |
+
)
|
| 129 |
+
|
| 130 |
+
;; ---- 查叫系统 ----
|
| 131 |
+
(cha_jiao
|
| 132 |
+
(enabled true)
|
| 133 |
+
(penalty_to_non_ready true)
|
| 134 |
+
(pay_max_pattern true)
|
| 135 |
+
)
|
| 136 |
+
|
| 137 |
+
;; ---- 过手碰/过水胡 ----
|
| 138 |
+
(pass_rules
|
| 139 |
+
(guo_shou_peng true)
|
| 140 |
+
(guo_shui_hu true)
|
| 141 |
+
(self_draw_exception true)
|
| 142 |
+
)
|
| 143 |
+
|
| 144 |
+
;; ---- 杠分规则 ----
|
| 145 |
+
(kong_rules
|
| 146 |
+
(settle_immediately true)
|
| 147 |
+
(melded_kong (point_provider_pays 2) (others_pay 1)) ; (擦挂)
|
| 148 |
+
(added_kong (all_pay 1))
|
| 149 |
+
(concealed_kong (all_pay 2))
|
| 150 |
+
)
|
| 151 |
+
|
| 152 |
+
;; =========================
|
| 153 |
+
;; 5. 守恒不变量
|
| 154 |
+
;; =========================
|
| 155 |
+
|
| 156 |
+
(invariants
|
| 157 |
+
(tile_conservation
|
| 158 |
+
(formula "(+ (zone wall) (zone hand:A1) ... (zone discard_pile)) = 72"))
|
| 159 |
+
(constraints
|
| 160 |
+
(no_wan_tiles true)
|
| 161 |
+
(no_honor_tiles true))
|
| 162 |
+
)
|
| 163 |
+
)
|
卡五星麻将_mGDL_v1.3.txt
ADDED
|
@@ -0,0 +1,178 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
(game "Kawuxing_Mahjong" (version "1.3.0")
|
| 2 |
+
;; =========================
|
| 3 |
+
;; 1. 元信息 & 概览
|
| 4 |
+
;; =========================
|
| 5 |
+
|
| 6 |
+
(game_variant "round")
|
| 7 |
+
(rule_profile
|
| 8 |
+
(blood_mode "none")
|
| 9 |
+
(scoring_mode "multiplier") ; 倍数制
|
| 10 |
+
(has_wildcard false)
|
| 11 |
+
(has_horse true) ; 买马
|
| 12 |
+
(has_contract false)
|
| 13 |
+
(has_multi_round false)
|
| 14 |
+
(has_ting_system true) ; 亮倒
|
| 15 |
+
(has_chicken_system false)
|
| 16 |
+
(has_bean_system false)
|
| 17 |
+
)
|
| 18 |
+
|
| 19 |
+
;; =========================
|
| 20 |
+
;; 2. Rule-Core:玩法本体
|
| 21 |
+
;; =========================
|
| 22 |
+
|
| 23 |
+
(players 3) ; 3人玩法
|
| 24 |
+
(seats [ "A1" "A2" "A3" ])
|
| 25 |
+
(turn_order
|
| 26 |
+
(order cyclic A1 A2 A3)
|
| 27 |
+
(on_peng_keep_turn true)
|
| 28 |
+
(on_gang_keep_turn true)
|
| 29 |
+
)
|
| 30 |
+
|
| 31 |
+
;; ---- 牌组定义 ----
|
| 32 |
+
(tileset
|
| 33 |
+
(suits { "tiao" "tong" }) ; 无万牌
|
| 34 |
+
(ranks 1..9)
|
| 35 |
+
(copies 4)
|
| 36 |
+
(honors 1)
|
| 37 |
+
(honor_types { "zhong" "fa" "bai" }) ; 仅中发白
|
| 38 |
+
(honor_copies 4)
|
| 39 |
+
(flowers 0)
|
| 40 |
+
(total 84) ; 72 + 12 = 84张
|
| 41 |
+
)
|
| 42 |
+
|
| 43 |
+
(phases [ "setup" "deal" "play" "settle" ])
|
| 44 |
+
|
| 45 |
+
(setup
|
| 46 |
+
(dealer "random")
|
| 47 |
+
(initial_hand 13)
|
| 48 |
+
(choose_que (enabled false))
|
| 49 |
+
(exchange_three (enabled false))
|
| 50 |
+
)
|
| 51 |
+
|
| 52 |
+
;; ---- 行为权限 ----
|
| 53 |
+
(actions
|
| 54 |
+
(allow_chi false)
|
| 55 |
+
(allow_peng true)
|
| 56 |
+
(allow_gang { "concealed" "melded" "added" })
|
| 57 |
+
(one_tile_multi_claim true)
|
| 58 |
+
)
|
| 59 |
+
|
| 60 |
+
;; ---- 胡牌规则 ----
|
| 61 |
+
(win_rules
|
| 62 |
+
(allow_self_draw_win true)
|
| 63 |
+
(allow_discard_win true)
|
| 64 |
+
(allow_gang_win true)
|
| 65 |
+
(allow_rob_kong true)
|
| 66 |
+
(allow_multi_win true)
|
| 67 |
+
|
| 68 |
+
(post_win_continuation
|
| 69 |
+
(mode "round")
|
| 70 |
+
)
|
| 71 |
+
)
|
| 72 |
+
|
| 73 |
+
;; =========================
|
| 74 |
+
;; 3. Scoring:计分与番型
|
| 75 |
+
;; =========================
|
| 76 |
+
|
| 77 |
+
(scoring
|
| 78 |
+
(mode "multiplier")
|
| 79 |
+
(base_point 1)
|
| 80 |
+
(explosion_cap_multiplier 16)
|
| 81 |
+
)
|
| 82 |
+
|
| 83 |
+
;; ---- 番型表 ----
|
| 84 |
+
(fan_table
|
| 85 |
+
(stacking "multiply") ; 倍数叠乘
|
| 86 |
+
|
| 87 |
+
;; 牌型
|
| 88 |
+
(yaku pinghu (mult 1) (category "basic") (desc "平胡"))
|
| 89 |
+
(yaku pengpenghu (mult 2) (category "special") (desc "碰碰胡"))
|
| 90 |
+
(yaku ming_sigui (mult 2) (category "special") (desc "明四归"))
|
| 91 |
+
(yaku an_sigui (mult 4) (category "special") (desc "暗四归"))
|
| 92 |
+
(yaku qingyise (mult 4) (category "special") (desc "清一色"))
|
| 93 |
+
(yaku qidui (mult 4) (category "special") (desc "七对"))
|
| 94 |
+
(yaku longqidui (mult 8) (category "special") (desc "龙七对"))
|
| 95 |
+
(yaku shuanglongqidui (mult 16) (category "special") (desc "双龙七对"))
|
| 96 |
+
(yaku sanlongqidui (mult 32) (category "special") (desc "三龙七对"))
|
| 97 |
+
(yaku xiaosanyuan (mult 4) (category "special") (desc "小三元"))
|
| 98 |
+
(yaku dasanyuan (mult 8) (category "special") (desc "大三元"))
|
| 99 |
+
(yaku shouzhuayi (mult 4) (category "special") (desc "手抓一"))
|
| 100 |
+
(yaku kawuxing (mult 2) (category "special") (desc "卡五星:46卡5"))
|
| 101 |
+
|
| 102 |
+
;; 事件(无具体倍数叠加,通常含在牌型或额外算,这里按规则)
|
| 103 |
+
;; 规则未明确提自摸加倍,但有漂分、买马
|
| 104 |
+
)
|
| 105 |
+
|
| 106 |
+
;; =========================
|
| 107 |
+
;; 4. 特殊机制
|
| 108 |
+
;; =========================
|
| 109 |
+
|
| 110 |
+
;; ---- 亮倒系统 ----
|
| 111 |
+
(ting_system
|
| 112 |
+
(enabled true)
|
| 113 |
+
(reveal_hand true) ; 亮牌
|
| 114 |
+
(auto_play true)
|
| 115 |
+
(multiplier 2) ; 亮倒翻倍
|
| 116 |
+
(show_waiting_tiles true)
|
| 117 |
+
(restrictions
|
| 118 |
+
(others_cannot_discard_waiting_tiles true)) ; 他人不能打炮牌
|
| 119 |
+
)
|
| 120 |
+
|
| 121 |
+
;; ---- 买马规则 ----
|
| 122 |
+
(horse_rules
|
| 123 |
+
(enabled true)
|
| 124 |
+
(mode "buy_horse") ; 买马
|
| 125 |
+
(count 1)
|
| 126 |
+
(draw_from "wall_end")
|
| 127 |
+
(effect "add_score") ; 看起来是加分/加倍?原规则: "中 N 鸟" -> mult?
|
| 128 |
+
; 原文件: (1 (mult 1))...
|
| 129 |
+
(hit_mapping
|
| 130 |
+
("1" (mult 1)) ("2" (mult 2)) ("3" (mult 3))
|
| 131 |
+
("4" (mult 4)) ("5" (mult 5)) ("6" (mult 6))
|
| 132 |
+
("7" (mult 7)) ("8" (mult 8)) ("9" (mult 9))
|
| 133 |
+
("zhong" (mult 10)) ("fa" (mult 10)) ("bai" (mult 10)))
|
| 134 |
+
)
|
| 135 |
+
|
| 136 |
+
;; ---- 漂分系统 ----
|
| 137 |
+
(piao_score
|
| 138 |
+
(enabled true)
|
| 139 |
+
(mode "pre_game")
|
| 140 |
+
(effect "additive")
|
| 141 |
+
)
|
| 142 |
+
|
| 143 |
+
;; ---- 杠上杠翻倍 ----
|
| 144 |
+
(consecutive_kong
|
| 145 |
+
(enabled true)
|
| 146 |
+
(multiplier_progression [1, 2, 4, 8])
|
| 147 |
+
)
|
| 148 |
+
|
| 149 |
+
;; ---- 杠分规则 ----
|
| 150 |
+
(kong_rules
|
| 151 |
+
(settle_immediately true)
|
| 152 |
+
(concealed_kong (all_pay 2))
|
| 153 |
+
(melded_kong (point_provider_pays 2))
|
| 154 |
+
(added_kong (all_pay 1))
|
| 155 |
+
)
|
| 156 |
+
|
| 157 |
+
;; =========================
|
| 158 |
+
;; 5. 结算规则
|
| 159 |
+
;; =========================
|
| 160 |
+
|
| 161 |
+
(settlement
|
| 162 |
+
(score_formula
|
| 163 |
+
(胡牌得分 = "番型 * 亮倒倍数 (封顶16)")
|
| 164 |
+
(总分 = "胡分 + 杠分 + 漂分 + 买马分")
|
| 165 |
+
)
|
| 166 |
+
|
| 167 |
+
(on_draw
|
| 168 |
+
(penalty_rule
|
| 169 |
+
(first_reveal_player_pays_others_ting_mult true)))
|
| 170 |
+
)
|
| 171 |
+
|
| 172 |
+
(invariants
|
| 173 |
+
(tile_conservation
|
| 174 |
+
(formula "(+ (zone wall) ... ) = 84"))
|
| 175 |
+
(constraints
|
| 176 |
+
(player_count 3))
|
| 177 |
+
)
|
| 178 |
+
)
|
合肥麻将_mGDL_v1.3.txt
ADDED
|
@@ -0,0 +1,146 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
(game "HeFei_Mahjong" (version "1.3.0")
|
| 2 |
+
;; =========================
|
| 3 |
+
;; 1. 元信息 & 概览
|
| 4 |
+
;; =========================
|
| 5 |
+
|
| 6 |
+
(game_variant "round")
|
| 7 |
+
(rule_profile
|
| 8 |
+
(blood_mode "none")
|
| 9 |
+
(scoring_mode "hybrid") ; 混合制:基数 * 嘴数 * 连庄等
|
| 10 |
+
(has_wildcard false)
|
| 11 |
+
(has_horse false)
|
| 12 |
+
(has_contract false)
|
| 13 |
+
(has_multi_round true) ; 连庄机制
|
| 14 |
+
(has_ting_system true) ; 报听系统(部分合肥麻将有报听)
|
| 15 |
+
(has_chicken_system false)
|
| 16 |
+
(has_bean_system false)
|
| 17 |
+
)
|
| 18 |
+
|
| 19 |
+
;; =========================
|
| 20 |
+
;; 2. Rule-Core:玩法本体
|
| 21 |
+
;; =========================
|
| 22 |
+
|
| 23 |
+
(players 4)
|
| 24 |
+
(seats [ "A1" "A2" "A3" "A4" ])
|
| 25 |
+
(turn_order
|
| 26 |
+
(order cyclic A1 A2 A3 A4)
|
| 27 |
+
(on_peng_keep_turn true)
|
| 28 |
+
(on_gang_keep_turn true)
|
| 29 |
+
)
|
| 30 |
+
|
| 31 |
+
;; ---- 牌组定义 ----
|
| 32 |
+
(tileset
|
| 33 |
+
(suits { "wan" "tong" "tiao" })
|
| 34 |
+
(ranks 2..8) ; 2-8万/筒/条 (合肥麻将特色:无1/9)
|
| 35 |
+
(copies 4)
|
| 36 |
+
(honors 0) (honor_copies 0)
|
| 37 |
+
(flowers 0)
|
| 38 |
+
(total 84) ; 7*3*4 = 84张
|
| 39 |
+
)
|
| 40 |
+
|
| 41 |
+
(phases [ "setup" "deal" "play" "sea_draw" "settle" ])
|
| 42 |
+
|
| 43 |
+
(setup
|
| 44 |
+
(dealer "rotate") ; 轮庄/连庄
|
| 45 |
+
(initial_hand 13)
|
| 46 |
+
(choose_que (enabled false))
|
| 47 |
+
(exchange_three (enabled false))
|
| 48 |
+
|
| 49 |
+
;; 海底漫游
|
| 50 |
+
(sea_draw
|
| 51 |
+
(enabled true)
|
| 52 |
+
(last_n 4)
|
| 53 |
+
(prohibit_kong true))
|
| 54 |
+
)
|
| 55 |
+
|
| 56 |
+
;; ---- 行为权限 ----
|
| 57 |
+
(actions
|
| 58 |
+
(allow_chi false)
|
| 59 |
+
(allow_peng true)
|
| 60 |
+
(allow_gang { "concealed" "melded" "added" })
|
| 61 |
+
(one_tile_multi_claim true)
|
| 62 |
+
(allow_ting true)
|
| 63 |
+
)
|
| 64 |
+
|
| 65 |
+
;; ---- 胡牌规则 ----
|
| 66 |
+
(win_rules
|
| 67 |
+
(allow_self_draw_win true)
|
| 68 |
+
(allow_discard_win true)
|
| 69 |
+
(allow_gang_win true)
|
| 70 |
+
(allow_rob_kong true)
|
| 71 |
+
(allow_multi_win true)
|
| 72 |
+
|
| 73 |
+
(requirements
|
| 74 |
+
(min_suit_for_win 8) ; 必须够8支? (原规则: min_suit_for_win 8 -> 8支起胡)
|
| 75 |
+
(must_ting_for_discard_win true) ; 必须报听才能点炮胡?
|
| 76 |
+
)
|
| 77 |
+
|
| 78 |
+
(post_win_continuation
|
| 79 |
+
(mode "round")
|
| 80 |
+
)
|
| 81 |
+
)
|
| 82 |
+
|
| 83 |
+
;; =========================
|
| 84 |
+
;; 3. Scoring:计分与番型
|
| 85 |
+
;; =========================
|
| 86 |
+
|
| 87 |
+
(scoring
|
| 88 |
+
(mode "hybrid")
|
| 89 |
+
(base_point 1)
|
| 90 |
+
(formula "base_point * total_mouths * event_multiplier")
|
| 91 |
+
)
|
| 92 |
+
|
| 93 |
+
;; ---- 番型表 (Category: pattern/mouth) ----
|
| 94 |
+
(fan_table
|
| 95 |
+
(stacking "add") ; 嘴数相加
|
| 96 |
+
|
| 97 |
+
;; 基础嘴数
|
| 98 |
+
(yaku base_hu (pattern_points 15) (category "basic") (desc "基本嘴"))
|
| 99 |
+
(yaku zhi (pattern_points 1) (category "basic") (desc "支(门清? Or card count?)")) ; 原则上合肥麻将"支"是牌张积分
|
| 100 |
+
|
| 101 |
+
;; 牌型嘴数
|
| 102 |
+
(yaku tong (pattern_points 1) (category "pattern") (desc "同"))
|
| 103 |
+
(yaku kan (pattern_points 1) (category "pattern") (desc "坎"))
|
| 104 |
+
(yaku lianshuang (pattern_points 1) (category "event") (desc "连庄"))
|
| 105 |
+
(yaku quemen (pattern_points 2) (category "pattern") (desc "缺门"))
|
| 106 |
+
(yaku shuangpuzi (pattern_points 2) (category "pattern") (desc "双铺子"))
|
| 107 |
+
(yaku kadianshu (pattern_points 4) (category "pattern") (desc "卡"))
|
| 108 |
+
(yaku huositou (pattern_points 4) (category "pattern") (desc "活四头"))
|
| 109 |
+
(yaku gang (pattern_points 4) (category "pattern") (desc "杠"))
|
| 110 |
+
|
| 111 |
+
;; 大牌番型 (直接加分or嘴数?)
|
| 112 |
+
(yaku qidui (pattern_points 10) (category "special") (desc "七对"))
|
| 113 |
+
(yaku haohuaqidui (pattern_points 50) (category "special") (desc "豪七"))
|
| 114 |
+
(yaku qingyise (pattern_points 100) (category "special") (desc "清一色"))
|
| 115 |
+
(yaku shitong (pattern_points 100) (category "special") (desc "十同"))
|
| 116 |
+
(yaku sanliankan (pattern_points 100) (category "special") (desc "三连坎"))
|
| 117 |
+
(yaku sianke (pattern_points 100) (category "special") (desc "四暗刻"))
|
| 118 |
+
|
| 119 |
+
;; 事件
|
| 120 |
+
(yaku haidilao (pattern_points 15) (category "event") (desc "海底捞"))
|
| 121 |
+
(yaku dihu (pattern_points 150) (category "event") (desc "地胡"))
|
| 122 |
+
(yaku tianhu (pattern_points 200) (category "event") (desc "天胡"))
|
| 123 |
+
)
|
| 124 |
+
|
| 125 |
+
;; Custom extension refs in special_mechanics if needed
|
| 126 |
+
|
| 127 |
+
;; =========================
|
| 128 |
+
;; 4. 结算规则
|
| 129 |
+
;; =========================
|
| 130 |
+
|
| 131 |
+
(settlement
|
| 132 |
+
(score_formula
|
| 133 |
+
(胡牌得分 = "基数 * (基本嘴 + 牌型嘴) * 连庄系数")
|
| 134 |
+
)
|
| 135 |
+
(on_draw
|
| 136 |
+
;; 查大叫等
|
| 137 |
+
)
|
| 138 |
+
)
|
| 139 |
+
|
| 140 |
+
(invariants
|
| 141 |
+
(tile_conservation
|
| 142 |
+
(formula "(+ (zone wall) ... ) = 84"))
|
| 143 |
+
(constraints
|
| 144 |
+
(no_1_9_rank true))
|
| 145 |
+
)
|
| 146 |
+
)
|
妙手七星_mGDL_v1.3.txt
ADDED
|
@@ -0,0 +1,159 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
(game "MiaoShou_QiXing" (version "1.3.0")
|
| 2 |
+
;; =========================
|
| 3 |
+
;; 1. 元信息 & 概览
|
| 4 |
+
;; =========================
|
| 5 |
+
|
| 6 |
+
(game_variant "multi_round") ; 多小局制
|
| 7 |
+
(rule_profile
|
| 8 |
+
(blood_mode "none")
|
| 9 |
+
(scoring_mode "multiplier")
|
| 10 |
+
(has_wildcard true) ; 季节牌赖子
|
| 11 |
+
(has_horse false)
|
| 12 |
+
(has_contract false)
|
| 13 |
+
(has_multi_round true)
|
| 14 |
+
(has_ting_system false)
|
| 15 |
+
(has_chicken_system false)
|
| 16 |
+
(has_bean_system false)
|
| 17 |
+
)
|
| 18 |
+
|
| 19 |
+
;; =========================
|
| 20 |
+
;; 2. Rule-Core:玩法本体
|
| 21 |
+
;; =========================
|
| 22 |
+
|
| 23 |
+
(players 4)
|
| 24 |
+
(seats [ "A1" "A2" "A3" "A4" ])
|
| 25 |
+
(turn_order
|
| 26 |
+
(order cyclic A1 A2 A3 A4)
|
| 27 |
+
(on_peng_keep_turn false) ; 无碰杠? 原规则 allow_peng false
|
| 28 |
+
)
|
| 29 |
+
|
| 30 |
+
;; ---- 牌组定义 ----
|
| 31 |
+
(tileset
|
| 32 |
+
(suits { "wan" "tong" "tiao" })
|
| 33 |
+
(ranks 1..9)
|
| 34 |
+
(copies 4)
|
| 35 |
+
(honors 1)
|
| 36 |
+
(honor_types { "zhong" "fa" "bai" "dong" "nan" "xi" "bei" })
|
| 37 |
+
(honor_copies 4)
|
| 38 |
+
(flowers 0)
|
| 39 |
+
(special_tiles
|
| 40 |
+
(season_wildcards 4)) ; 4张季节赖子
|
| 41 |
+
(total 140) ; 136 + 4 = 140
|
| 42 |
+
)
|
| 43 |
+
|
| 44 |
+
(phases [ "setup" "deal" "play" "settle" ])
|
| 45 |
+
|
| 46 |
+
(setup
|
| 47 |
+
(dealer "random")
|
| 48 |
+
(initial_hand 13) ; 或特殊手牌结构
|
| 49 |
+
(round_count 7) ; 7个回合/小局
|
| 50 |
+
|
| 51 |
+
(exchange_three (enabled false))
|
| 52 |
+
)
|
| 53 |
+
|
| 54 |
+
;; ---- 行为权限 ----
|
| 55 |
+
(actions
|
| 56 |
+
(allow_chi false)
|
| 57 |
+
(allow_peng false) ; 不可吃碰杠
|
| 58 |
+
(allow_gang false)
|
| 59 |
+
(one_tile_multi_claim false)
|
| 60 |
+
|
| 61 |
+
;; 特殊动作
|
| 62 |
+
(allow_triplet_play true) ; 允许整组刻子出牌
|
| 63 |
+
(allow_draw_three_choose_one true) ; 摸3选1
|
| 64 |
+
)
|
| 65 |
+
|
| 66 |
+
;; ---- 胡牌规则 ----
|
| 67 |
+
(win_rules
|
| 68 |
+
(allow_self_draw_win true)
|
| 69 |
+
(allow_discard_win false) ; 仅自摸?
|
| 70 |
+
(allow_multi_win true)
|
| 71 |
+
|
| 72 |
+
(post_win_continuation
|
| 73 |
+
(mode "round") ; 或 rounds,取决于是否单局结束
|
| 74 |
+
(round_based_win true) ; 按回合结算
|
| 75 |
+
)
|
| 76 |
+
)
|
| 77 |
+
|
| 78 |
+
;; =========================
|
| 79 |
+
;; 3. Scoring:计分与番型
|
| 80 |
+
;; =========================
|
| 81 |
+
|
| 82 |
+
(scoring
|
| 83 |
+
(mode "multiplier")
|
| 84 |
+
(base_point 1)
|
| 85 |
+
)
|
| 86 |
+
|
| 87 |
+
;; ---- 番型表 (Category: special, mult) ----
|
| 88 |
+
(fan_table
|
| 89 |
+
(stacking "none") ; 仅取最大
|
| 90 |
+
|
| 91 |
+
(yaku daweitianlong (mult 666) (category "special") (desc "大威天龙"))
|
| 92 |
+
(yaku dadaowuxing (mult 399) (category "special") (desc "大道无形"))
|
| 93 |
+
(yaku jiulongzaitian (mult 399) (category "special") (desc "九龙在天"))
|
| 94 |
+
(yaku dasixi (mult 388) (category "special") (desc "大四喜"))
|
| 95 |
+
(yaku huofenghuang (mult 333) (category "special") (desc "火凤凰"))
|
| 96 |
+
(yaku dachelun (mult 333) (category "special") (desc "大车轮"))
|
| 97 |
+
(yaku wanzhongwushuang (mult 333) (category "special") (desc "万中无双"))
|
| 98 |
+
(yaku lvyise (mult 266) (category "special") (desc "绿一色"))
|
| 99 |
+
(yaku dasanyuan (mult 233) (category "special") (desc "大三元"))
|
| 100 |
+
(yaku quanyaojiu (mult 199) (category "special") (desc "全幺九"))
|
| 101 |
+
(yaku riyuetonghui (mult 88) (category "special") (desc "日月同辉"))
|
| 102 |
+
(yaku ziyise (mult 77) (category "special") (desc "字一色"))
|
| 103 |
+
(yaku qingyise (mult 66) (category "special") (desc "清一色"))
|
| 104 |
+
(yaku quanzhong (mult 55) (category "special") (desc "全中"))
|
| 105 |
+
(yaku quanda (mult 52) (category "special") (desc "全大"))
|
| 106 |
+
(yaku quanxiao (mult 52) (category "special") (desc "全小"))
|
| 107 |
+
(yaku sijiegao (mult 50) (category "special") (desc "四节高"))
|
| 108 |
+
(yaku sanfengke (mult 33) (category "basic") (desc "三风刻"))
|
| 109 |
+
(yaku quanshuangke (mult 22) (category "basic") (desc "全双刻"))
|
| 110 |
+
(yaku hunyaojiu (mult 19) (category "basic") (desc "混幺九"))
|
| 111 |
+
(yaku quandanke (mult 17) (category "basic") (desc "全单刻"))
|
| 112 |
+
(yaku santongke (mult 16) (category "basic") (desc "三同刻"))
|
| 113 |
+
(yaku hunyise (mult 11) (category "basic") (desc "混一色"))
|
| 114 |
+
(yaku taigongdiaoyu (mult 10) (category "basic") (desc "太公钓鱼"))
|
| 115 |
+
(yaku duanyaojiu (mult 9) (category "basic") (desc "断幺九"))
|
| 116 |
+
(yaku sanjiegao (mult 8) (category "basic") (desc "三节高"))
|
| 117 |
+
(yaku shuangshuangtongke (mult 7) (category "basic") (desc "双双同刻"))
|
| 118 |
+
(yaku shuangjianke (mult 4) (category "basic") (desc "双箭刻"))
|
| 119 |
+
(yaku shuangtongke (mult 2) (category "basic") (desc "双同刻"))
|
| 120 |
+
)
|
| 121 |
+
|
| 122 |
+
;; =========================
|
| 123 |
+
;; 4. 特殊机制
|
| 124 |
+
;; =========================
|
| 125 |
+
|
| 126 |
+
(special_mechanics
|
| 127 |
+
(mechanic "SeasonalWildcard"
|
| 128 |
+
(category "wildcard")
|
| 129 |
+
(enabled true)
|
| 130 |
+
(phase "play")
|
| 131 |
+
(description "季节牌可作为赖子,且不能打出")
|
| 132 |
+
(transfer_path none))
|
| 133 |
+
|
| 134 |
+
(mechanic "DrawThreeChooseOne"
|
| 135 |
+
(category "phase_rule")
|
| 136 |
+
(enabled true)
|
| 137 |
+
(phase "play")
|
| 138 |
+
(description "摸3张选1张,其余2张回牌池")
|
| 139 |
+
(transfer_path from: wall to: hand:<PID>))
|
| 140 |
+
|
| 141 |
+
(mechanic "CommonCard"
|
| 142 |
+
(category "scoring")
|
| 143 |
+
(enabled true)
|
| 144 |
+
(phase "settle")
|
| 145 |
+
(description "公共牌翻倍机制 (每回合翻倍增加)")
|
| 146 |
+
(transfer_path none))
|
| 147 |
+
)
|
| 148 |
+
|
| 149 |
+
;; =========================
|
| 150 |
+
;; 5. 守恒不变量
|
| 151 |
+
;; =========================
|
| 152 |
+
|
| 153 |
+
(invariants
|
| 154 |
+
(tile_conservation
|
| 155 |
+
(formula "(+ (zone wall) ... ) = 140"))
|
| 156 |
+
(constraints
|
| 157 |
+
(seven_round_logic true))
|
| 158 |
+
)
|
| 159 |
+
)
|
山西扣点麻将_mGDL_v1.3.txt
ADDED
|
@@ -0,0 +1,149 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
(game "ShanXi_KouDian" (version "1.3.0")
|
| 2 |
+
;; =========================
|
| 3 |
+
;; 1. 元信息 & 概览
|
| 4 |
+
;; =========================
|
| 5 |
+
|
| 6 |
+
(game_variant "round")
|
| 7 |
+
(rule_profile
|
| 8 |
+
(blood_mode "none")
|
| 9 |
+
(scoring_mode "hybrid") ; 混合制:基数*牌型*点数
|
| 10 |
+
(has_wildcard true) ; 随机赖子
|
| 11 |
+
(has_horse false)
|
| 12 |
+
(has_contract false)
|
| 13 |
+
(has_multi_round false)
|
| 14 |
+
(has_ting_system true) ; 报听限制
|
| 15 |
+
(has_chicken_system false)
|
| 16 |
+
(has_bean_system false)
|
| 17 |
+
)
|
| 18 |
+
|
| 19 |
+
;; =========================
|
| 20 |
+
;; 2. Rule-Core:玩法本体
|
| 21 |
+
;; =========================
|
| 22 |
+
|
| 23 |
+
(players 4)
|
| 24 |
+
(seats [ "A1" "A2" "A3" "A4" ])
|
| 25 |
+
(turn_order
|
| 26 |
+
(order cyclic A1 A2 A3 A4)
|
| 27 |
+
(on_peng_keep_turn true)
|
| 28 |
+
(on_gang_keep_turn true)
|
| 29 |
+
)
|
| 30 |
+
|
| 31 |
+
;; ---- 牌组定义 ----
|
| 32 |
+
(tileset
|
| 33 |
+
(suits { "wan" "tong" "tiao" })
|
| 34 |
+
(ranks 1..9)
|
| 35 |
+
(copies 4)
|
| 36 |
+
(honors 1)
|
| 37 |
+
(honor_types { "zhong" "fa" "bai" "dong" "nan" "xi" "bei" })
|
| 38 |
+
(honor_copies 4)
|
| 39 |
+
(flowers 0)
|
| 40 |
+
(total 136)
|
| 41 |
+
)
|
| 42 |
+
|
| 43 |
+
(phases [ "setup" "deal" "play" "settle" ])
|
| 44 |
+
|
| 45 |
+
(setup
|
| 46 |
+
(dealer "rotate")
|
| 47 |
+
(initial_hand 13)
|
| 48 |
+
(choose_que (enabled false))
|
| 49 |
+
(exchange_three (enabled false))
|
| 50 |
+
|
| 51 |
+
;; 翻牌定赖
|
| 52 |
+
(flip_tile
|
| 53 |
+
(enabled true)
|
| 54 |
+
(laizi_rules "random_any_tile"))
|
| 55 |
+
)
|
| 56 |
+
|
| 57 |
+
;; ---- 行为权限 ----
|
| 58 |
+
(actions
|
| 59 |
+
(allow_chi true) ; 允许吃
|
| 60 |
+
(allow_peng true)
|
| 61 |
+
(allow_gang { "concealed" "melded" "added" })
|
| 62 |
+
(one_tile_multi_claim true)
|
| 63 |
+
(allow_ting true)
|
| 64 |
+
)
|
| 65 |
+
|
| 66 |
+
;; ---- 胡牌规则 ----
|
| 67 |
+
(win_rules
|
| 68 |
+
(allow_self_draw_win true)
|
| 69 |
+
(allow_discard_win true)
|
| 70 |
+
(allow_gang_win true)
|
| 71 |
+
(allow_rob_kong true)
|
| 72 |
+
(allow_multi_win true)
|
| 73 |
+
|
| 74 |
+
;; 扣点特殊限制
|
| 75 |
+
(requirements
|
| 76 |
+
(min_koudian_for_win 3) ; 自摸最低3点
|
| 77 |
+
(min_koudian_for_discard 6) ; 点炮最低6点
|
| 78 |
+
)
|
| 79 |
+
|
| 80 |
+
(post_win_continuation
|
| 81 |
+
(mode "round")
|
| 82 |
+
)
|
| 83 |
+
)
|
| 84 |
+
|
| 85 |
+
;; =========================
|
| 86 |
+
;; 3. Scoring:计分与番型
|
| 87 |
+
;; =========================
|
| 88 |
+
|
| 89 |
+
(scoring
|
| 90 |
+
(mode "hybrid")
|
| 91 |
+
(base_point 1)
|
| 92 |
+
(formula "base_point * hand_mult * event_mult")
|
| 93 |
+
)
|
| 94 |
+
|
| 95 |
+
;; ---- 番型表 ----
|
| 96 |
+
(fan_table
|
| 97 |
+
(stacking "multiply")
|
| 98 |
+
|
| 99 |
+
(yaku pinghu (mult 1) (category "basic") (desc "平胡"))
|
| 100 |
+
(yaku yitiaolong (mult 2) (category "special") (desc "一条龙"))
|
| 101 |
+
(yaku qingyise (mult 2) (category "special") (desc "清一色"))
|
| 102 |
+
(yaku qidui (mult 2) (category "special") (desc "七对"))
|
| 103 |
+
(yaku haohua_qidui (mult 4) (category "special") (desc "豪七"))
|
| 104 |
+
(yaku huangjin_qidui (mult 8) (category "special") (desc "黄金七对"))
|
| 105 |
+
(yaku haohua_huangjin_qidui (mult 16) (category "special") (desc "豪华黄金七对"))
|
| 106 |
+
(yaku shisansan (mult 8) (category "special") (desc "十三幺"))
|
| 107 |
+
)
|
| 108 |
+
|
| 109 |
+
;; =========================
|
| 110 |
+
;; 4. 特殊机制
|
| 111 |
+
;; =========================
|
| 112 |
+
|
| 113 |
+
;; ---- 赖子 ----
|
| 114 |
+
(wildcard
|
| 115 |
+
(enabled true)
|
| 116 |
+
(type "laizi")
|
| 117 |
+
(as_any_tile true)
|
| 118 |
+
(can_discard true)
|
| 119 |
+
)
|
| 120 |
+
|
| 121 |
+
;; ---- 扣点机制 ----
|
| 122 |
+
(special_mechanics
|
| 123 |
+
(mechanic "KouDianLimit"
|
| 124 |
+
(category "settlement")
|
| 125 |
+
(enabled true)
|
| 126 |
+
(phase "play")
|
| 127 |
+
(description "胡牌需要满足扣点要求:点数=手牌中非顺子牌的点数总和")
|
| 128 |
+
(transfer_path none))
|
| 129 |
+
)
|
| 130 |
+
|
| 131 |
+
;; =========================
|
| 132 |
+
;; 5. 结算规则
|
| 133 |
+
;; =========================
|
| 134 |
+
|
| 135 |
+
(settlement
|
| 136 |
+
(score_formula
|
| 137 |
+
(胡分 = "基数 * 番数 * 2(自摸) 或 1(点炮)")
|
| 138 |
+
)
|
| 139 |
+
(kong_rules
|
| 140 |
+
(kou_dian_map
|
| 141 |
+
(suited_rank_as_point true)
|
| 142 |
+
(honor_point 10)))
|
| 143 |
+
)
|
| 144 |
+
|
| 145 |
+
(invariants
|
| 146 |
+
(tile_conservation
|
| 147 |
+
(formula "(+ (zone wall) ... ) = 136"))
|
| 148 |
+
)
|
| 149 |
+
)
|
幺鸡血战_mGDL_v1.3.txt
ADDED
|
@@ -0,0 +1,150 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
(game "YaoJi_XueZhan" (version "1.3.0")
|
| 2 |
+
;; =========================
|
| 3 |
+
;; 1. 元信息 & 概览
|
| 4 |
+
;; =========================
|
| 5 |
+
|
| 6 |
+
(game_variant "blood_war")
|
| 7 |
+
(rule_profile
|
| 8 |
+
(blood_mode "xuezhan")
|
| 9 |
+
(scoring_mode "multiplier") ; 倍数制
|
| 10 |
+
(has_wildcard true) ; 幺鸡赖子
|
| 11 |
+
(has_horse false)
|
| 12 |
+
(has_contract false)
|
| 13 |
+
(has_multi_round false)
|
| 14 |
+
(has_ting_system false)
|
| 15 |
+
(has_chicken_system false)
|
| 16 |
+
(has_bean_system false)
|
| 17 |
+
)
|
| 18 |
+
|
| 19 |
+
;; =========================
|
| 20 |
+
;; 2. Rule-Core:玩法本体
|
| 21 |
+
;; =========================
|
| 22 |
+
|
| 23 |
+
(players 4)
|
| 24 |
+
(seats [ "A1" "A2" "A3" "A4" ])
|
| 25 |
+
(turn_order
|
| 26 |
+
(order cyclic A1 A2 A3 A4)
|
| 27 |
+
(on_peng_keep_turn true)
|
| 28 |
+
(on_gang_keep_turn true)
|
| 29 |
+
)
|
| 30 |
+
|
| 31 |
+
;; ---- 牌组定义 ----
|
| 32 |
+
(tileset
|
| 33 |
+
(suits { "wan" "tong" "tiao" })
|
| 34 |
+
(ranks 1..9)
|
| 35 |
+
(copies 4)
|
| 36 |
+
(honors 0) (honor_copies 0)
|
| 37 |
+
(flowers 0)
|
| 38 |
+
(total 108)
|
| 39 |
+
)
|
| 40 |
+
|
| 41 |
+
(phases [ "setup" "deal" "choose_que" "exchange_three" "play" "settle" ])
|
| 42 |
+
|
| 43 |
+
(setup
|
| 44 |
+
(dealer "random")
|
| 45 |
+
(initial_hand 13)
|
| 46 |
+
|
| 47 |
+
(choose_que
|
| 48 |
+
(enabled true)
|
| 49 |
+
(must_keep_under_two_suits_to_win true)
|
| 50 |
+
(lock_que true))
|
| 51 |
+
|
| 52 |
+
(exchange_three
|
| 53 |
+
(enabled true)
|
| 54 |
+
(mode "random_one_player")
|
| 55 |
+
(require_same_suit true)
|
| 56 |
+
(return_chosen_tiles_to_wall false))
|
| 57 |
+
)
|
| 58 |
+
|
| 59 |
+
;; ---- 行为权限 ----
|
| 60 |
+
(actions
|
| 61 |
+
(allow_chi false)
|
| 62 |
+
(allow_peng true)
|
| 63 |
+
(allow_gang { "concealed" "melded" "added" })
|
| 64 |
+
(one_tile_multi_claim true)
|
| 65 |
+
)
|
| 66 |
+
|
| 67 |
+
;; ---- 胡牌规则 ----
|
| 68 |
+
(win_rules
|
| 69 |
+
(allow_self_draw_win true)
|
| 70 |
+
(allow_discard_win true)
|
| 71 |
+
(allow_gang_win true)
|
| 72 |
+
(allow_rob_kong true)
|
| 73 |
+
(allow_multi_win true)
|
| 74 |
+
|
| 75 |
+
(requirements
|
| 76 |
+
(must_que true)
|
| 77 |
+
)
|
| 78 |
+
|
| 79 |
+
(post_win_continuation
|
| 80 |
+
(mode "xuezhan")
|
| 81 |
+
(winner_exit true)
|
| 82 |
+
(end_when_third_player_wins true)
|
| 83 |
+
)
|
| 84 |
+
)
|
| 85 |
+
|
| 86 |
+
;; =========================
|
| 87 |
+
;; 3. Scoring:计分与番型
|
| 88 |
+
;; =========================
|
| 89 |
+
|
| 90 |
+
(scoring
|
| 91 |
+
(mode "multiplier")
|
| 92 |
+
(base_point 1)
|
| 93 |
+
(self_draw_multiplier 2) ; 自摸加倍(x2)
|
| 94 |
+
(discard_win_multiplier 1)
|
| 95 |
+
(min_multiplier 8) ; 起胡倍数? (原: start_multiplier 8)
|
| 96 |
+
(explosion_cap_multiplier 128) ; 128倍封顶
|
| 97 |
+
)
|
| 98 |
+
|
| 99 |
+
;; ---- 番型表 ----
|
| 100 |
+
(fan_table
|
| 101 |
+
(stacking "multiply") ; 倍数叠乘
|
| 102 |
+
|
| 103 |
+
(yaku pinghu (mult 1) (category "basic") (desc "平胡"))
|
| 104 |
+
(yaku pengpenghu (mult 2) (category "special") (desc "碰碰胡"))
|
| 105 |
+
(yaku qidui (mult 4) (category "special") (desc "七对"))
|
| 106 |
+
(yaku qingyise (mult 4) (category "special") (desc "清一色"))
|
| 107 |
+
(yaku jingoudiao (mult 4) (category "special") (desc "金钩钓"))
|
| 108 |
+
(yaku longqidui (mult 8) (category "special") (desc "龙七对"))
|
| 109 |
+
(yaku qingpeng (mult 8) (category "special") (desc "清碰"))
|
| 110 |
+
(yaku shuanglongqidui (mult 16) (category "special") (desc "双龙七对"))
|
| 111 |
+
(yaku qingqidui (mult 16) (category "special") (desc "清七对"))
|
| 112 |
+
(yaku qingjingoudiao (mult 16) (category "special") (desc "清金钩钓"))
|
| 113 |
+
(yaku sanlongqidui (mult 32) (category "special") (desc "三龙七对"))
|
| 114 |
+
(yaku qinglongqidui (mult 32) (category "special") (desc "清龙七对"))
|
| 115 |
+
(yaku shibaluohan (mult 64) (category "special") (desc "十八罗汉"))
|
| 116 |
+
|
| 117 |
+
(yaku gangshangkaihua (mult 2) (category "event") (desc "杠上开花"))
|
| 118 |
+
(yaku gangshangpao (mult 2) (category "event") (desc "杠上炮"))
|
| 119 |
+
(yaku qiangganghu (mult 2) (category "event") (desc "抢杠胡"))
|
| 120 |
+
(yaku haidilao (mult 2) (category "event") (desc "海底捞"))
|
| 121 |
+
(yaku haidipao (mult 2) (category "event") (desc "海底炮"))
|
| 122 |
+
(yaku gen (mult 2) (category "addon") (desc "根"))
|
| 123 |
+
|
| 124 |
+
(yaku wujichi (mult 2) (category "special") (desc "无鸡胡"))
|
| 125 |
+
(yaku sanji (mult 4) (category "special") (desc "三幺鸡"))
|
| 126 |
+
(yaku siji (mult 8) (category "special") (desc "四幺鸡"))
|
| 127 |
+
|
| 128 |
+
(yaku tianhu (force_cap true) (category "event") (desc "天胡"))
|
| 129 |
+
(yaku dihu (force_cap true) (category "event") (desc "地胡"))
|
| 130 |
+
)
|
| 131 |
+
|
| 132 |
+
;; =========================
|
| 133 |
+
;; 4. 特殊机制
|
| 134 |
+
;; =========================
|
| 135 |
+
|
| 136 |
+
;; ---- 幺鸡赖子 ----
|
| 137 |
+
(wildcard
|
| 138 |
+
(enabled true)
|
| 139 |
+
(type "yaoji")
|
| 140 |
+
(as_any_tile true)
|
| 141 |
+
(can_discard true)
|
| 142 |
+
)
|
| 143 |
+
|
| 144 |
+
(invariants
|
| 145 |
+
(tile_conservation
|
| 146 |
+
(formula "(+ (zone wall) ... ) = 108"))
|
| 147 |
+
(constraints
|
| 148 |
+
(yaoji_is_wildcard true))
|
| 149 |
+
)
|
| 150 |
+
)
|
广东100张_mGDL_v1.3.txt
ADDED
|
@@ -0,0 +1,417 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
(game "Guangdong_100Zhang" (version "1.3.0")
|
| 2 |
+
;; =========================
|
| 3 |
+
;; 1. 元信息 & 概览
|
| 4 |
+
;; =========================
|
| 5 |
+
|
| 6 |
+
(game_variant "round")
|
| 7 |
+
(rule_profile
|
| 8 |
+
(blood_mode "none")
|
| 9 |
+
(scoring_mode "multiplier") ; 倍数制
|
| 10 |
+
(has_wildcard true) ; 有鬼牌
|
| 11 |
+
(has_horse true) ; 有买马
|
| 12 |
+
(has_contract true) ; 有承包规则
|
| 13 |
+
(has_multi_round false)
|
| 14 |
+
(has_ting_system false)
|
| 15 |
+
(has_chicken_system false)
|
| 16 |
+
(has_bean_system false)
|
| 17 |
+
)
|
| 18 |
+
|
| 19 |
+
;; =========================
|
| 20 |
+
;; 2. Rule-Core:玩法本体
|
| 21 |
+
;; =========================
|
| 22 |
+
|
| 23 |
+
(players 4)
|
| 24 |
+
(seats [ "A1" "A2" "A3" "A4" ]) ; A1=庄
|
| 25 |
+
(turn_order
|
| 26 |
+
(order [ "A1" "A2" "A3" "A4" ])
|
| 27 |
+
(on_peng_keep_turn true)
|
| 28 |
+
(on_gang_keep_turn true)
|
| 29 |
+
)
|
| 30 |
+
|
| 31 |
+
;; ---- 牌组定义 ----
|
| 32 |
+
(tileset
|
| 33 |
+
(suits { "tiao" "tong" }) ; 仅条、筒,无万牌
|
| 34 |
+
(ranks 1..9)
|
| 35 |
+
(copies 4)
|
| 36 |
+
(honors 1) ; 有字牌
|
| 37 |
+
(honor_types ["东" "南" "西" "北" "中" "发" "白"]) ; 全部7种字牌
|
| 38 |
+
(honor_copies 4)
|
| 39 |
+
(flowers 0)
|
| 40 |
+
(total 100) ; 9×2×4 + 7×4 = 100张
|
| 41 |
+
)
|
| 42 |
+
|
| 43 |
+
;; 牌数验证:
|
| 44 |
+
;; TotalTiles = 9 × 2 × 4 + 7 × 4 = 100
|
| 45 |
+
;; 庄家起手:14张
|
| 46 |
+
;; 闲家起手:13×3 = 39张
|
| 47 |
+
;; 牌墙剩余:100 - 14 - 39 = 47张 ✓
|
| 48 |
+
|
| 49 |
+
(phases [ "play" "settle" ])
|
| 50 |
+
|
| 51 |
+
(setup
|
| 52 |
+
(dealer "random")
|
| 53 |
+
(initial_hand 13)
|
| 54 |
+
(choose_que (enabled false))
|
| 55 |
+
(exchange_three (enabled false))
|
| 56 |
+
|
| 57 |
+
;; 翻鬼牌
|
| 58 |
+
(flip_tile
|
| 59 |
+
(enabled true)
|
| 60 |
+
(mode "flip_ghost")
|
| 61 |
+
(rule "plus_one_with_cycle") ; 翻牌+1为鬼,字牌循环
|
| 62 |
+
(honor_cycle ["东" "南" "西" "北" "中" "发" "白" "东"]) ; 翻北则中为鬼,翻白则东为鬼
|
| 63 |
+
)
|
| 64 |
+
)
|
| 65 |
+
|
| 66 |
+
;; ---- 行为权限 ----
|
| 67 |
+
(actions
|
| 68 |
+
(allow_chi false) ; 不可吃
|
| 69 |
+
(allow_peng true) ; 可碰
|
| 70 |
+
(allow_gang { "concealed" "melded" "added" }) ; 可暗杠、直杠、补杠
|
| 71 |
+
(one_tile_multi_claim true) ; 允许一炮多响
|
| 72 |
+
|
| 73 |
+
;; 特殊规则
|
| 74 |
+
(delayed_gang_allowed true) ; 可以先碰后补杠
|
| 75 |
+
(delayed_gang_no_score true) ; 延迟补杠不收分
|
| 76 |
+
)
|
| 77 |
+
|
| 78 |
+
;; ---- 胡牌规则 ----
|
| 79 |
+
(win_rules
|
| 80 |
+
(allow_self_draw_win true) ; 可自摸
|
| 81 |
+
(allow_discard_win true) ; 可点炮
|
| 82 |
+
(allow_gang_win true) ; 可杠上开花
|
| 83 |
+
(allow_rob_kong true) ; 可抢杠胡
|
| 84 |
+
(allow_multi_win true) ; 一炮多响
|
| 85 |
+
|
| 86 |
+
;; 特殊限制
|
| 87 |
+
(pattern_specific_constraints
|
| 88 |
+
(jihu (allow_discard_win false)) ; 鸡胡只能自摸
|
| 89 |
+
(four_ghost_can_win true) ; 4张鬼牌可直接胡(非必胡)
|
| 90 |
+
(all_ghost_must_win true)) ; 手上全是鬼牌必胡
|
| 91 |
+
|
| 92 |
+
(post_win_continuation
|
| 93 |
+
(mode "round")
|
| 94 |
+
)
|
| 95 |
+
)
|
| 96 |
+
|
| 97 |
+
;; =========================
|
| 98 |
+
;; 3. Scoring:计分与番型
|
| 99 |
+
;; =========================
|
| 100 |
+
|
| 101 |
+
(scoring
|
| 102 |
+
(mode "multiplier")
|
| 103 |
+
(base_point 1)
|
| 104 |
+
)
|
| 105 |
+
|
| 106 |
+
;; ---- 番型表 ----
|
| 107 |
+
;; 操作类番型(与牌型类番型叠乘)
|
| 108 |
+
(fan_table
|
| 109 |
+
(stacking "multiply")
|
| 110 |
+
|
| 111 |
+
(yaku zimu
|
| 112 |
+
(mult 1)
|
| 113 |
+
(category "event")
|
| 114 |
+
(desc "自摸:自己摸到牌胡牌"))
|
| 115 |
+
|
| 116 |
+
(yaku dianpao
|
| 117 |
+
(mult 1)
|
| 118 |
+
(category "event")
|
| 119 |
+
(desc "点炮:胡别人打出的牌,鸡胡不允许点炮胡,允许一炮多响"))
|
| 120 |
+
|
| 121 |
+
(yaku gangkai
|
| 122 |
+
(mult 2)
|
| 123 |
+
(category "event")
|
| 124 |
+
(desc "杠开:开杠后补牌正好胡牌"))
|
| 125 |
+
|
| 126 |
+
(yaku qianggang
|
| 127 |
+
(mult 3)
|
| 128 |
+
(category "event")
|
| 129 |
+
(desc "抢杠胡:胡的那张牌正好是其他玩家补杠的牌,由补杠的玩家承包3家买马分"))
|
| 130 |
+
)
|
| 131 |
+
|
| 132 |
+
;; 牌型类番型(不叠加,仅取最大;同番数按优先级)
|
| 133 |
+
(fan_table
|
| 134 |
+
(yaku jihu
|
| 135 |
+
(mult 2)
|
| 136 |
+
(category "basic")
|
| 137 |
+
(priority 1)
|
| 138 |
+
(desc "鸡胡:4副顺子/刻子+1副将,其中顺子和刻子数都需要大于等于1,手牌和副露条筒数大于等于1")
|
| 139 |
+
(require (allow_discard_win false))) ; 只能自摸
|
| 140 |
+
|
| 141 |
+
(yaku pinghu
|
| 142 |
+
(mult 3)
|
| 143 |
+
(category "basic")
|
| 144 |
+
(priority 1)
|
| 145 |
+
(desc "平胡:4副顺子+1副将"))
|
| 146 |
+
|
| 147 |
+
(yaku hunyise
|
| 148 |
+
(mult 4)
|
| 149 |
+
(category "special")
|
| 150 |
+
(priority 1)
|
| 151 |
+
(desc "混一色:胡牌时手牌和副露是条筒其中一种花色加上字牌"))
|
| 152 |
+
|
| 153 |
+
(yaku pengpenghu
|
| 154 |
+
(mult 4)
|
| 155 |
+
(category "special")
|
| 156 |
+
(priority 2)
|
| 157 |
+
(desc "碰碰胡:4副刻子/杠+1副将"))
|
| 158 |
+
|
| 159 |
+
(yaku qidui
|
| 160 |
+
(mult 8)
|
| 161 |
+
(category "special")
|
| 162 |
+
(priority 1)
|
| 163 |
+
(desc "七对:七个不一样的对子"))
|
| 164 |
+
|
| 165 |
+
(yaku qingyise
|
| 166 |
+
(mult 8)
|
| 167 |
+
(category "special")
|
| 168 |
+
(priority 2)
|
| 169 |
+
(desc "清一色:胡牌时手牌和副露由单一条/筒组成"))
|
| 170 |
+
|
| 171 |
+
(yaku hunpeng
|
| 172 |
+
(mult 8)
|
| 173 |
+
(category "special")
|
| 174 |
+
(priority 3)
|
| 175 |
+
(desc "混碰:碰碰胡 + 混一色"))
|
| 176 |
+
|
| 177 |
+
(yaku haohuaqidui
|
| 178 |
+
(mult 12)
|
| 179 |
+
(category "special")
|
| 180 |
+
(priority 1)
|
| 181 |
+
(desc "豪华七对:七对中有1组一样的对子"))
|
| 182 |
+
|
| 183 |
+
(yaku hunyaojiu
|
| 184 |
+
(mult 12)
|
| 185 |
+
(category "special")
|
| 186 |
+
(priority 2)
|
| 187 |
+
(desc "混幺九:胡牌时手牌和副露只由幺九牌组成,1、9牌总数大于1"))
|
| 188 |
+
|
| 189 |
+
(yaku qingpeng
|
| 190 |
+
(mult 12)
|
| 191 |
+
(category "special")
|
| 192 |
+
(priority 3)
|
| 193 |
+
(desc "清碰:碰碰胡 + 清一色"))
|
| 194 |
+
|
| 195 |
+
(yaku sigui
|
| 196 |
+
(mult 18)
|
| 197 |
+
(category "special")
|
| 198 |
+
(priority 1)
|
| 199 |
+
(desc "四鬼:4张鬼牌可以直接胡牌(非必胡)"))
|
| 200 |
+
|
| 201 |
+
(yaku xiaosanyuan
|
| 202 |
+
(mult 18)
|
| 203 |
+
(category "special")
|
| 204 |
+
(priority 2)
|
| 205 |
+
(desc "小三元:中发白2副刻子/杠1副将+任意2副顺子/刻子"))
|
| 206 |
+
|
| 207 |
+
(yaku xiaosixi
|
| 208 |
+
(mult 18)
|
| 209 |
+
(category "special")
|
| 210 |
+
(priority 3)
|
| 211 |
+
(desc "小四喜:东南西北3副刻子/杠1副将+任意顺子/刻子"))
|
| 212 |
+
|
| 213 |
+
(yaku tianhu
|
| 214 |
+
(mult 24)
|
| 215 |
+
(category "event")
|
| 216 |
+
(priority 1)
|
| 217 |
+
(desc "天胡:庄家起手14张牌直接胡牌(不可暗杠)必胡"))
|
| 218 |
+
|
| 219 |
+
(yaku dihu
|
| 220 |
+
(mult 24)
|
| 221 |
+
(category "event")
|
| 222 |
+
(priority 2)
|
| 223 |
+
(desc "地胡:闲家胡自己摸的第一张牌(自己不可碰、杠)必胡"))
|
| 224 |
+
|
| 225 |
+
(yaku shuanghaohuaqidui
|
| 226 |
+
(mult 24)
|
| 227 |
+
(category "special")
|
| 228 |
+
(priority 3)
|
| 229 |
+
(desc "双豪华七对:七对中有2组一样的对子"))
|
| 230 |
+
|
| 231 |
+
(yaku ziyise
|
| 232 |
+
(mult 24)
|
| 233 |
+
(category "special")
|
| 234 |
+
(priority 4)
|
| 235 |
+
(desc "字一色:胡牌时手牌和副露由单一字牌组成"))
|
| 236 |
+
|
| 237 |
+
(yaku dasanyuan
|
| 238 |
+
(mult 32)
|
| 239 |
+
(category "special")
|
| 240 |
+
(priority 1)
|
| 241 |
+
(desc "大三元:中发白3副刻子/杠+1副将+1副顺子/刻子"))
|
| 242 |
+
|
| 243 |
+
(yaku dasixi
|
| 244 |
+
(mult 32)
|
| 245 |
+
(category "special")
|
| 246 |
+
(priority 2)
|
| 247 |
+
(desc "大四喜:东南西北4副刻子/杠+1副将"))
|
| 248 |
+
|
| 249 |
+
(yaku sanhaohuaqidui
|
| 250 |
+
(mult 36)
|
| 251 |
+
(category "special")
|
| 252 |
+
(priority 1)
|
| 253 |
+
(desc "三豪华七对:七对中有3组一样的对子"))
|
| 254 |
+
|
| 255 |
+
(yaku shibbaluohan
|
| 256 |
+
(mult 36)
|
| 257 |
+
(category "special")
|
| 258 |
+
(priority 2)
|
| 259 |
+
(desc "十八罗汉:胡牌时有4个杠"))
|
| 260 |
+
)
|
| 261 |
+
|
| 262 |
+
;; 额外加番
|
| 263 |
+
(fan_table
|
| 264 |
+
(yaku wugui
|
| 265 |
+
(mult 2)
|
| 266 |
+
(category "addon")
|
| 267 |
+
(desc "无鬼:如果胡牌时手牌中没有鬼牌,则胡牌倍数 x 2"))
|
| 268 |
+
)
|
| 269 |
+
|
| 270 |
+
;; =========================
|
| 271 |
+
;; 4. 特殊机制
|
| 272 |
+
;; =========================
|
| 273 |
+
|
| 274 |
+
;; ---- 鬼牌(赖子)----
|
| 275 |
+
(wildcard
|
| 276 |
+
(enabled true)
|
| 277 |
+
(type "gui")
|
| 278 |
+
(as_any_tile true) ; 可当任意牌
|
| 279 |
+
(can_discard false) ; 不可打出
|
| 280 |
+
(can_peng_gang false) ; 不可参与碰杠
|
| 281 |
+
(four_ghost_can_win true) ; 4张鬼牌可直接胡
|
| 282 |
+
(all_ghost_must_win true) ; 手上全是鬼牌必胡
|
| 283 |
+
|
| 284 |
+
;; 碰后限制
|
| 285 |
+
(peng_restriction
|
| 286 |
+
(only_discard_if_all_ghost true)) ; 碰后只剩鬼牌则不允许碰
|
| 287 |
+
)
|
| 288 |
+
|
| 289 |
+
;; ---- 买马规则 ----
|
| 290 |
+
(horse_rules
|
| 291 |
+
(enabled true)
|
| 292 |
+
(mode "buy_horse")
|
| 293 |
+
(count 2) ; 每人2马
|
| 294 |
+
(players "all") ; 4人买马
|
| 295 |
+
(draw_from "external_deck") ; 使用另一副牌
|
| 296 |
+
(exclude_on_draw true) ; 流局不买马
|
| 297 |
+
|
| 298 |
+
;; 位置与点数对应
|
| 299 |
+
(hit_mapping
|
| 300 |
+
(庄家 ["1" "5" "9" "东"])
|
| 301 |
+
(庄家下家 ["2" "6" "南" "中"])
|
| 302 |
+
(庄家对家 ["3" "7" "西" "发"])
|
| 303 |
+
(庄家上家 ["4" "8" "北" "白"]))
|
| 304 |
+
|
| 305 |
+
(effect "same_win_same_lose") ; 买中对应玩家同赢同输
|
| 306 |
+
(exclude_kong_gen_zhuang true) ; 只算胡牌分、跟庄分,不算杠分
|
| 307 |
+
|
| 308 |
+
;; 金币场特殊规则
|
| 309 |
+
(jinbi_mode
|
| 310 |
+
(flip_8_horses true)
|
| 311 |
+
(remove_9_before_flip true) ; 翻8马时先去掉4张9筒或9条,避免庄家优势
|
| 312 |
+
)
|
| 313 |
+
)
|
| 314 |
+
|
| 315 |
+
;; ---- 跟庄系统 ----
|
| 316 |
+
(gen_zhuang
|
| 317 |
+
(enabled true)
|
| 318 |
+
(condition "all_follow_dealer_first") ; 庄家第一张牌三家都跟
|
| 319 |
+
(payout "dealer_to_all") ; 庄家赔各1倍基数
|
| 320 |
+
(multiplier 1)
|
| 321 |
+
(settle_immediately true) ; 即时结算
|
| 322 |
+
(no_refund_on_draw true) ; 流局不退回
|
| 323 |
+
(exclude_from_horse true) ; 不算马分
|
| 324 |
+
)
|
| 325 |
+
|
| 326 |
+
;; ---- 承包规则 ----
|
| 327 |
+
(contract_rules
|
| 328 |
+
;; 12张落地承包
|
| 329 |
+
(twelve_meld_contract
|
| 330 |
+
(enabled true)
|
| 331 |
+
(condition "fourth_meld_provider") ; 放第4次碰/杠的玩家
|
| 332 |
+
(coverage "all_losers") ; 承包所有输分
|
| 333 |
+
(exclude_kong_gen_zhuang true) ; 不含杠分、跟庄分
|
| 334 |
+
(concealed_kong_no_contract true) ; 第4次是暗杠则无承包
|
| 335 |
+
(horse_calculation
|
| 336 |
+
(base_score "contractor_loses_3x"))) ; 基础胡分为承包者输胜者3倍
|
| 337 |
+
|
| 338 |
+
;; 杠爆全包
|
| 339 |
+
(gang_bao_contract
|
| 340 |
+
(enabled true)
|
| 341 |
+
(condition "kong_then_self_draw") ; 点杠后杠上开花
|
| 342 |
+
(coverage "all_losers") ; 承包3家所有输分
|
| 343 |
+
(exclude_kong_gen_zhuang true) ; 不含杠分、跟庄分
|
| 344 |
+
(consecutive_kong_no_contract true) ; 杠后再杠,杠上开花不算杠爆
|
| 345 |
+
(horse_calculation
|
| 346 |
+
(base_score "contractor_loses_3x")))
|
| 347 |
+
)
|
| 348 |
+
|
| 349 |
+
;; ---- 杠分规则 ----
|
| 350 |
+
(kong_rules
|
| 351 |
+
(settle_immediately true) ; 即时结算
|
| 352 |
+
|
| 353 |
+
;; 点杠
|
| 354 |
+
(melded_kong
|
| 355 |
+
(point_provider_pays 3))
|
| 356 |
+
|
| 357 |
+
;; 补杠
|
| 358 |
+
(added_kong
|
| 359 |
+
(all_pay 1)
|
| 360 |
+
(delayed_no_score true)) ; 延迟补杠不收分
|
| 361 |
+
|
| 362 |
+
;; 暗杠
|
| 363 |
+
(concealed_kong
|
| 364 |
+
(all_pay 2))
|
| 365 |
+
)
|
| 366 |
+
|
| 367 |
+
;; ---- 过胡规则 ----
|
| 368 |
+
(pass_rules
|
| 369 |
+
(guo_hu
|
| 370 |
+
(enabled true)
|
| 371 |
+
(condition "same_round_first_occurrence")
|
| 372 |
+
(restriction "cannot_win_same_tile_before_draw"))
|
| 373 |
+
)
|
| 374 |
+
|
| 375 |
+
;; =========================
|
| 376 |
+
;; 5. 结算规则
|
| 377 |
+
;; =========================
|
| 378 |
+
|
| 379 |
+
(settlement
|
| 380 |
+
(score_formula
|
| 381 |
+
(结算分数 = "基数 *(胡牌倍数 + 买马倍数 + 杠分 + 跟庄分)")
|
| 382 |
+
(放炮 "输家独给")
|
| 383 |
+
(自摸 "三家给")
|
| 384 |
+
|
| 385 |
+
(on_self_draw (payer "all_others") (count 3))
|
| 386 |
+
(on_discard (payer "shooter_only") (count 1))
|
| 387 |
+
|
| 388 |
+
;; 承包与买马
|
| 389 |
+
(contract_then_horse true) ; 先算完每个玩家的分数,最后再承包
|
| 390 |
+
)
|
| 391 |
+
|
| 392 |
+
;; 流局规则
|
| 393 |
+
(on_draw
|
| 394 |
+
(kong_gen_zhuang_kept true) ; 杠分、跟庄分不退回
|
| 395 |
+
(no_cha_jiao true)) ; 无查叫
|
| 396 |
+
)
|
| 397 |
+
|
| 398 |
+
;; =========================
|
| 399 |
+
;; 6. 守恒不变量
|
| 400 |
+
;; =========================
|
| 401 |
+
|
| 402 |
+
(invariants
|
| 403 |
+
;; 牌数守恒
|
| 404 |
+
(tile_conservation
|
| 405 |
+
(formula "(+ (zone wall) (zone hand:A1) (zone hand:A2) (zone hand:A3) (zone hand:A4)
|
| 406 |
+
(zone meld:A1) (zone meld:A2) (zone meld:A3) (zone meld:A4)
|
| 407 |
+
(zone kong:A1) (zone kong:A2) (zone kong:A3) (zone kong:A4)
|
| 408 |
+
(zone discard_pile)) = 100"))
|
| 409 |
+
|
| 410 |
+
;; 约束验证
|
| 411 |
+
(constraints
|
| 412 |
+
(no_wan_tiles true) ; 无万牌
|
| 413 |
+
(has_all_honors true) ; 有全部7种字牌
|
| 414 |
+
(has_ghost true) ; 有鬼牌
|
| 415 |
+
(jihu_only_self_draw true)) ; 鸡胡只能自摸
|
| 416 |
+
)
|
| 417 |
+
)
|
广东鸡平胡_mGDL_v1.3.txt
ADDED
|
@@ -0,0 +1,147 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
(game "GuangDong_JiPingHu" (version "1.3.0")
|
| 2 |
+
;; =========================
|
| 3 |
+
;; 1. 元信息 & 概览
|
| 4 |
+
;; =========================
|
| 5 |
+
|
| 6 |
+
(game_variant "round")
|
| 7 |
+
(rule_profile
|
| 8 |
+
(blood_mode "none")
|
| 9 |
+
(scoring_mode "hybrid") ; 混合制
|
| 10 |
+
(has_wildcard true) ; 鬼牌
|
| 11 |
+
(has_horse true) ; 买马
|
| 12 |
+
(has_contract true) ; 承包
|
| 13 |
+
(has_multi_round false)
|
| 14 |
+
(has_ting_system false)
|
| 15 |
+
(has_chicken_system false) ; 此"鸡"非捉鸡麻将之鸡
|
| 16 |
+
(has_bean_system false)
|
| 17 |
+
)
|
| 18 |
+
|
| 19 |
+
;; =========================
|
| 20 |
+
;; 2. Rule-Core:玩法本体
|
| 21 |
+
;; =========================
|
| 22 |
+
|
| 23 |
+
(players 4)
|
| 24 |
+
(seats [ "A1" "A2" "A3" "A4" ])
|
| 25 |
+
(turn_order
|
| 26 |
+
(order cyclic A1 A2 A3 A4)
|
| 27 |
+
(on_peng_keep_turn true)
|
| 28 |
+
(on_gang_keep_turn true)
|
| 29 |
+
)
|
| 30 |
+
|
| 31 |
+
;; ---- 牌组定义 ----
|
| 32 |
+
(tileset
|
| 33 |
+
(suits { "wan" "tong" "tiao" })
|
| 34 |
+
(ranks 1..9)
|
| 35 |
+
(copies 4)
|
| 36 |
+
(honors 1)
|
| 37 |
+
(honor_types { "zhong" "fa" "bai" "dong" "nan" "xi" "bei" })
|
| 38 |
+
(honor_copies 4)
|
| 39 |
+
(flowers 0)
|
| 40 |
+
(total 136)
|
| 41 |
+
)
|
| 42 |
+
|
| 43 |
+
(phases [ "setup" "deal" "play" "settle" ])
|
| 44 |
+
|
| 45 |
+
(setup
|
| 46 |
+
(dealer "dice")
|
| 47 |
+
(initial_hand 13)
|
| 48 |
+
(choose_que (enabled false))
|
| 49 |
+
(exchange_three (enabled false))
|
| 50 |
+
|
| 51 |
+
;; 翻鬼
|
| 52 |
+
(flip_tile
|
| 53 |
+
(enabled true)
|
| 54 |
+
(pizi_rules "flipped_and_minus_one")
|
| 55 |
+
(laizi_rules "flipped_and_plus_one"))
|
| 56 |
+
)
|
| 57 |
+
|
| 58 |
+
;; ---- 行为权限 ----
|
| 59 |
+
(actions
|
| 60 |
+
(allow_chi false) ; 鸡平胡大多不吃,部分吃
|
| 61 |
+
(allow_peng true)
|
| 62 |
+
(allow_gang { "concealed" "melded" "added" })
|
| 63 |
+
(one_tile_multi_claim true)
|
| 64 |
+
)
|
| 65 |
+
|
| 66 |
+
;; ---- 胡牌规则 ----
|
| 67 |
+
(win_rules
|
| 68 |
+
(allow_self_draw_win true)
|
| 69 |
+
(allow_discard_win true)
|
| 70 |
+
(allow_gang_win true)
|
| 71 |
+
(allow_rob_kong true)
|
| 72 |
+
(allow_multi_win true)
|
| 73 |
+
|
| 74 |
+
(pattern_specific_constraints
|
| 75 |
+
(jihu (allow_discard_win false)) ; 鸡胡只能自摸
|
| 76 |
+
)
|
| 77 |
+
|
| 78 |
+
(post_win_continuation
|
| 79 |
+
(mode "round")
|
| 80 |
+
)
|
| 81 |
+
)
|
| 82 |
+
|
| 83 |
+
;; =========================
|
| 84 |
+
;; 3. Scoring:计分与番型
|
| 85 |
+
;; =========================
|
| 86 |
+
|
| 87 |
+
(scoring
|
| 88 |
+
(mode "hybrid")
|
| 89 |
+
(base_point 1)
|
| 90 |
+
(explosion_cap_multiplier 64) ; 封顶
|
| 91 |
+
)
|
| 92 |
+
|
| 93 |
+
;; ---- 番型表 ----
|
| 94 |
+
(fan_table
|
| 95 |
+
(stacking "multiply") ; 倍数叠乘
|
| 96 |
+
|
| 97 |
+
(yaku jihu (mult 1) (category "basic") (desc "鸡胡"))
|
| 98 |
+
(yaku pinghu (mult 2) (category "basic") (desc "平胡"))
|
| 99 |
+
(yaku pengpenghu (mult 4) (category "basic") (desc "碰碰胡"))
|
| 100 |
+
(yaku hunyise (mult 4) (category "basic") (desc "混一色"))
|
| 101 |
+
(yaku qidui (mult 8) (category "basic") (desc "七对"))
|
| 102 |
+
(yaku qingyise (mult 16) (category "limit") (desc "清一色"))
|
| 103 |
+
(yaku haohuaxidui (mult 16) (category "limit") (desc "豪华七对"))
|
| 104 |
+
(yaku ziyise (mult 64) (category "limit") (desc "字一色"))
|
| 105 |
+
(yaku shisanyao (mult 64) (category "limit") (desc "十三幺"))
|
| 106 |
+
|
| 107 |
+
(yaku zimo (mult 2) (category "event") (desc "自摸"))
|
| 108 |
+
(yaku gangkai (mult 8) (category "event") (desc "杠开"))
|
| 109 |
+
(yaku qianggang (mult 8) (category "event") (desc "抢杠"))
|
| 110 |
+
(yaku haidilao (mult 8) (category "event") (desc "海底捞月"))
|
| 111 |
+
(yaku tianhu (mult 64) (category "event") (desc "天胡"))
|
| 112 |
+
(yaku dihu (mult 32) (category "event") (desc "地胡"))
|
| 113 |
+
)
|
| 114 |
+
|
| 115 |
+
;; =========================
|
| 116 |
+
;; 4. 特殊机制
|
| 117 |
+
;; =========================
|
| 118 |
+
|
| 119 |
+
;; ---- 赖子 ----
|
| 120 |
+
(wildcard
|
| 121 |
+
(enabled true)
|
| 122 |
+
(type "laizi")
|
| 123 |
+
(as_any_tile true)
|
| 124 |
+
(can_discard true)
|
| 125 |
+
)
|
| 126 |
+
|
| 127 |
+
;; ---- 买马 ----
|
| 128 |
+
(horse_rules
|
| 129 |
+
(enabled true)
|
| 130 |
+
(mode "horse")
|
| 131 |
+
(count 4)
|
| 132 |
+
(draw_from "wall_end")
|
| 133 |
+
(effect "same_win_no_loss") ; 中马同赢不同输(或全马)
|
| 134 |
+
(hit_mapping ("1/5/9" (mult 1)))
|
| 135 |
+
)
|
| 136 |
+
|
| 137 |
+
;; ---- 承包 ----
|
| 138 |
+
(contract_rules
|
| 139 |
+
(gang_bao_contract (enabled true))
|
| 140 |
+
(rob_kong_contract (enabled true))
|
| 141 |
+
)
|
| 142 |
+
|
| 143 |
+
(invariants
|
| 144 |
+
(tile_conservation
|
| 145 |
+
(formula "(+ (zone wall) ... ) = 136"))
|
| 146 |
+
)
|
| 147 |
+
)
|
武汉麻将_mGDL_v1.3.txt
ADDED
|
@@ -0,0 +1,142 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
(game "Wuhan_Mahjong" (version "1.3.0")
|
| 2 |
+
;; =========================
|
| 3 |
+
;; 1. 元信息 & 概览
|
| 4 |
+
;; =========================
|
| 5 |
+
|
| 6 |
+
(game_variant "round")
|
| 7 |
+
(rule_profile
|
| 8 |
+
(blood_mode "none")
|
| 9 |
+
(scoring_mode "fan_system") ; 番数制(口口番: 2^n)
|
| 10 |
+
(has_wildcard true) ; 赖子
|
| 11 |
+
(has_horse false)
|
| 12 |
+
(has_contract true) ; 承包
|
| 13 |
+
(has_multi_round false)
|
| 14 |
+
(has_ting_system false)
|
| 15 |
+
(has_chicken_system false)
|
| 16 |
+
(has_bean_system false)
|
| 17 |
+
)
|
| 18 |
+
|
| 19 |
+
;; =========================
|
| 20 |
+
;; 2. Rule-Core:玩法本体
|
| 21 |
+
;; =========================
|
| 22 |
+
|
| 23 |
+
(players 4)
|
| 24 |
+
(seats [ "A1" "A2" "A3" "A4" ])
|
| 25 |
+
(turn_order
|
| 26 |
+
(order cyclic A1 A2 A3 A4)
|
| 27 |
+
(on_peng_keep_turn true)
|
| 28 |
+
(on_gang_keep_turn true)
|
| 29 |
+
)
|
| 30 |
+
|
| 31 |
+
;; ---- 牌组定义 ----
|
| 32 |
+
(tileset
|
| 33 |
+
(suits { "wan" "tong" "tiao" })
|
| 34 |
+
(ranks 1..9)
|
| 35 |
+
(copies 4)
|
| 36 |
+
(honors 1)
|
| 37 |
+
(honor_types { "zhong" "fa" "bai" "dong" "nan" "xi" "bei" })
|
| 38 |
+
(honor_copies 4)
|
| 39 |
+
(flowers 0)
|
| 40 |
+
(total 136)
|
| 41 |
+
)
|
| 42 |
+
|
| 43 |
+
(phases [ "setup" "deal" "play" "settle" ])
|
| 44 |
+
|
| 45 |
+
(setup
|
| 46 |
+
(dealer "dice")
|
| 47 |
+
(initial_hand 13)
|
| 48 |
+
|
| 49 |
+
(flip_tile
|
| 50 |
+
(enabled true)
|
| 51 |
+
(pizi_rules "flipped_minus_one") ; 皮子
|
| 52 |
+
(laizi_rules "flipped_plus_one")) ; 赖子
|
| 53 |
+
)
|
| 54 |
+
|
| 55 |
+
;; ---- 行为权限 ----
|
| 56 |
+
(actions
|
| 57 |
+
(allow_chi true) ; 允许吃
|
| 58 |
+
(allow_peng true)
|
| 59 |
+
(allow_gang { "concealed" "melded" "added" })
|
| 60 |
+
(one_tile_multi_claim false) ; 不允许一炮多响(通常截胡)
|
| 61 |
+
)
|
| 62 |
+
|
| 63 |
+
;; ---- 胡牌规则 ----
|
| 64 |
+
(win_rules
|
| 65 |
+
(allow_self_draw_win true)
|
| 66 |
+
(allow_discard_win true)
|
| 67 |
+
(allow_gang_win true)
|
| 68 |
+
(allow_rob_kong true)
|
| 69 |
+
(allow_multi_win false)
|
| 70 |
+
|
| 71 |
+
(requirements
|
| 72 |
+
(must_open true) ; 必须开口
|
| 73 |
+
(no_pizi_in_hand true) ; 红中/赖子皮要在杠区
|
| 74 |
+
(small_hand_pair_must_be_258 true) ; 小胡258将
|
| 75 |
+
)
|
| 76 |
+
|
| 77 |
+
(post_win_continuation
|
| 78 |
+
(mode "round")
|
| 79 |
+
)
|
| 80 |
+
)
|
| 81 |
+
|
| 82 |
+
;; =========================
|
| 83 |
+
;; 3. Scoring:计分与番型
|
| 84 |
+
;; =========================
|
| 85 |
+
|
| 86 |
+
(scoring
|
| 87 |
+
(mode "fan_system")
|
| 88 |
+
(base_point 1)
|
| 89 |
+
(formula "base * pattern_points * 2^fan")
|
| 90 |
+
)
|
| 91 |
+
|
| 92 |
+
;; ---- 番型表 ----
|
| 93 |
+
(fan_table
|
| 94 |
+
(stacking "none") ; 武汉麻将特殊积分法
|
| 95 |
+
|
| 96 |
+
;; 牌型分 (pattern_points)
|
| 97 |
+
(yaku pinghu (pattern_points 1) (category "small") (desc "平胡"))
|
| 98 |
+
(yaku pengpenghu (pattern_points 10) (category "big") (desc "碰碰胡"))
|
| 99 |
+
(yaku qingyise (pattern_points 10) (category "big") (desc "清一色"))
|
| 100 |
+
(yaku fengyise (pattern_points 10) (category "big") (desc "风一色"))
|
| 101 |
+
(yaku jiangyise (pattern_points 10) (category "big") (desc "将一色"))
|
| 102 |
+
(yaku quanqiuren (pattern_points 10) (category "big") (desc "全求人"))
|
| 103 |
+
(yaku gangkai (pattern_points 10) (category "big") (desc "杠上花"))
|
| 104 |
+
(yaku haidilao (pattern_points 10) (category "big") (desc "海底捞"))
|
| 105 |
+
(yaku qianggang (pattern_points 10) (category "big") (desc "抢杠胡"))
|
| 106 |
+
|
| 107 |
+
;; 番数 (Fan - Exponential)
|
| 108 |
+
;; 赖子杠、红中杠、硬胡等算番
|
| 109 |
+
)
|
| 110 |
+
|
| 111 |
+
;; =========================
|
| 112 |
+
;; 4. 特殊机制
|
| 113 |
+
;; =========================
|
| 114 |
+
|
| 115 |
+
;; ---- 赖子/皮子 ----
|
| 116 |
+
(wildcard
|
| 117 |
+
(enabled true)
|
| 118 |
+
(type "laizi")
|
| 119 |
+
(as_any_tile true)
|
| 120 |
+
(can_discard true)
|
| 121 |
+
)
|
| 122 |
+
|
| 123 |
+
(special_mechanics
|
| 124 |
+
(mechanic "PiziKong"
|
| 125 |
+
(category "action")
|
| 126 |
+
(enabled true)
|
| 127 |
+
(phase "play")
|
| 128 |
+
(description "皮子/赖子杠,不算一般杠,算番")
|
| 129 |
+
(transfer_path from: hand to: kong))
|
| 130 |
+
)
|
| 131 |
+
|
| 132 |
+
;; ---- 承包 ----
|
| 133 |
+
(contract_rules
|
| 134 |
+
(xiayu (enabled true)) ; 下雨
|
| 135 |
+
(quanqiuren_contract (enabled true)) ; 全求人承包
|
| 136 |
+
)
|
| 137 |
+
|
| 138 |
+
(invariants
|
| 139 |
+
(tile_conservation
|
| 140 |
+
(formula "(+ (zone wall) ... ) = 136"))
|
| 141 |
+
)
|
| 142 |
+
)
|
海底捞月_mGDL_v1.3.txt
ADDED
|
@@ -0,0 +1,138 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
(game "HaiDiLaoYue" (version "1.3.0")
|
| 2 |
+
;; =========================
|
| 3 |
+
;; 1. 元信息 & 概览
|
| 4 |
+
;; =========================
|
| 5 |
+
|
| 6 |
+
(game_variant "blood_flow") ; 血流模式
|
| 7 |
+
(rule_profile
|
| 8 |
+
(blood_mode "xueliu")
|
| 9 |
+
(scoring_mode "multiplier") ; 倍数制
|
| 10 |
+
(has_wildcard true) ; 月亮牌? Or just special tiles
|
| 11 |
+
(has_horse false)
|
| 12 |
+
(has_contract false)
|
| 13 |
+
(has_multi_round false)
|
| 14 |
+
(has_ting_system false)
|
| 15 |
+
(has_chicken_system false)
|
| 16 |
+
(has_bean_system false)
|
| 17 |
+
)
|
| 18 |
+
|
| 19 |
+
;; =========================
|
| 20 |
+
;; 2. Rule-Core:玩法本体
|
| 21 |
+
;; =========================
|
| 22 |
+
|
| 23 |
+
(players 4)
|
| 24 |
+
(seats [ "A1" "A2" "A3" "A4" ])
|
| 25 |
+
(turn_order
|
| 26 |
+
(order cyclic A1 A2 A3 A4)
|
| 27 |
+
(on_peng_keep_turn true)
|
| 28 |
+
(on_gang_keep_turn true)
|
| 29 |
+
)
|
| 30 |
+
|
| 31 |
+
;; ---- 牌组定义 ----
|
| 32 |
+
(tileset
|
| 33 |
+
(suits { "wan" "tong" "tiao" })
|
| 34 |
+
(ranks 1..9)
|
| 35 |
+
(copies 4)
|
| 36 |
+
(honors 1)
|
| 37 |
+
(honor_types { "zhong" "fa" "bai" "dong" "nan" "xi" "bei" })
|
| 38 |
+
(honor_copies 4)
|
| 39 |
+
(flowers 0)
|
| 40 |
+
(special_tiles
|
| 41 |
+
(moon_tiles 12)) ; 12张月亮牌
|
| 42 |
+
(total 148) ; 136 + 12 = 148
|
| 43 |
+
)
|
| 44 |
+
|
| 45 |
+
(phases [ "setup" "deal" "play" "sea_draw" "settle" ])
|
| 46 |
+
|
| 47 |
+
(setup
|
| 48 |
+
(dealer "random")
|
| 49 |
+
(initial_hand 13)
|
| 50 |
+
(choose_que (enabled false))
|
| 51 |
+
(exchange_three (enabled false))
|
| 52 |
+
|
| 53 |
+
(sea_draw
|
| 54 |
+
(enabled true)
|
| 55 |
+
(last_n 12) ; 最后12张月亮牌
|
| 56 |
+
(prohibit_kong true))
|
| 57 |
+
)
|
| 58 |
+
|
| 59 |
+
;; ---- 行为权限 ----
|
| 60 |
+
(actions
|
| 61 |
+
(allow_chi false)
|
| 62 |
+
(allow_peng true)
|
| 63 |
+
(allow_gang { "concealed" "melded" "added" })
|
| 64 |
+
(one_tile_multi_claim true)
|
| 65 |
+
)
|
| 66 |
+
|
| 67 |
+
;; ---- 胡牌规则 ----
|
| 68 |
+
(win_rules
|
| 69 |
+
(allow_self_draw_win true)
|
| 70 |
+
(allow_discard_win true)
|
| 71 |
+
(allow_gang_win true)
|
| 72 |
+
(allow_rob_kong true)
|
| 73 |
+
(allow_multi_win true)
|
| 74 |
+
|
| 75 |
+
(post_win_continuation
|
| 76 |
+
(mode "xueliu") ; 胡牌继续
|
| 77 |
+
(winner_exit false)
|
| 78 |
+
(keep_turn_order true)
|
| 79 |
+
)
|
| 80 |
+
)
|
| 81 |
+
|
| 82 |
+
;; =========================
|
| 83 |
+
;; 3. Scoring:计分与番型
|
| 84 |
+
;; =========================
|
| 85 |
+
|
| 86 |
+
(scoring
|
| 87 |
+
(mode "multiplier")
|
| 88 |
+
(base_point 1)
|
| 89 |
+
(self_draw_multiplier 2)
|
| 90 |
+
)
|
| 91 |
+
|
| 92 |
+
;; ---- 番型表 ----
|
| 93 |
+
(fan_table
|
| 94 |
+
(stacking "multiply")
|
| 95 |
+
|
| 96 |
+
(yaku pinghu (mult 1) (category "basic") (desc "平胡"))
|
| 97 |
+
(yaku pengpenghu (mult 2) (category "special") (desc "碰碰胡"))
|
| 98 |
+
(yaku qingyise (mult 4) (category "special") (desc "清一色"))
|
| 99 |
+
(yaku qidui (mult 4) (category "special") (desc "七对"))
|
| 100 |
+
(yaku longqidui (mult 8) (category "special") (desc "龙七对"))
|
| 101 |
+
(yaku qingpeng (mult 8) (category "special") (desc "清碰"))
|
| 102 |
+
(yaku qingqidui (mult 16) (category "special") (desc "清七对"))
|
| 103 |
+
(yaku qinglongqidui (mult 32) (category "special") (desc "清龙七对"))
|
| 104 |
+
|
| 105 |
+
(yaku gangkai (mult 2) (category "event") (desc "杠开"))
|
| 106 |
+
(yaku gangpao (mult 2) (category "event") (desc "杠炮"))
|
| 107 |
+
(yaku qianggang (mult 2) (category "event") (desc "抢杠"))
|
| 108 |
+
(yaku haidilao (mult 2) (category "event") (desc "海底捞"))
|
| 109 |
+
(yaku gen (mult 2) (category "addon") (desc "根"))
|
| 110 |
+
|
| 111 |
+
(yaku moon_win (mult 2) (category "event") (desc "月亮胡"))
|
| 112 |
+
)
|
| 113 |
+
|
| 114 |
+
;; =========================
|
| 115 |
+
;; 4. 特殊机制
|
| 116 |
+
;; =========================
|
| 117 |
+
|
| 118 |
+
(wildcard
|
| 119 |
+
(enabled true)
|
| 120 |
+
(type "moon")
|
| 121 |
+
(as_any_tile true)
|
| 122 |
+
(can_discard true)
|
| 123 |
+
)
|
| 124 |
+
|
| 125 |
+
(special_mechanics
|
| 126 |
+
(mechanic "MoonDraw"
|
| 127 |
+
(category "phase_rule")
|
| 128 |
+
(enabled true)
|
| 129 |
+
(phase "sea_draw")
|
| 130 |
+
(description "最后12张进入月亮牌流程,可摸月亮牌(赖子)")
|
| 131 |
+
(transfer_path from: wall to: hand))
|
| 132 |
+
)
|
| 133 |
+
|
| 134 |
+
(invariants
|
| 135 |
+
(tile_conservation
|
| 136 |
+
(formula "(+ (zone wall) ... ) = 148"))
|
| 137 |
+
)
|
| 138 |
+
)
|
疯狂血战_mGDL_v1.3.txt
ADDED
|
@@ -0,0 +1,188 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
(game "Sichuan_Bloody_Battle" (version "1.3.0")
|
| 2 |
+
;; =========================
|
| 3 |
+
;; 1. 元信息 & 概览
|
| 4 |
+
;; =========================
|
| 5 |
+
|
| 6 |
+
(game_variant "blood_war")
|
| 7 |
+
(rule_profile
|
| 8 |
+
(blood_mode "xuezhan") ; 血战模式:胡牌不结束,至3家胡或牌完
|
| 9 |
+
(scoring_mode "multiplier") ; 倍数制:2进制 (1, 2, 4, 8...)
|
| 10 |
+
(has_wildcard false)
|
| 11 |
+
(has_horse false)
|
| 12 |
+
(has_contract false)
|
| 13 |
+
(has_multi_round false)
|
| 14 |
+
(has_ting_system false) ; 标准血战无报叫
|
| 15 |
+
(has_chicken_system false)
|
| 16 |
+
(has_bean_system false)
|
| 17 |
+
)
|
| 18 |
+
|
| 19 |
+
;; =========================
|
| 20 |
+
;; 2. Rule-Core:玩法本体
|
| 21 |
+
;; =========================
|
| 22 |
+
|
| 23 |
+
(players 4)
|
| 24 |
+
(seats [ "A1" "A2" "A3" "A4" ])
|
| 25 |
+
(turn_order
|
| 26 |
+
(order cyclic A1 A2 A3 A4)
|
| 27 |
+
(on_peng_keep_turn true)
|
| 28 |
+
(on_gang_keep_turn true)
|
| 29 |
+
)
|
| 30 |
+
|
| 31 |
+
;; ---- 牌组定义 ----
|
| 32 |
+
(tileset
|
| 33 |
+
(suits { "wan" "tong" "tiao" }) ; 万、筒、条
|
| 34 |
+
(ranks 1..9)
|
| 35 |
+
(copies 4)
|
| 36 |
+
(honors 0) (honor_copies 0) ; 无字牌
|
| 37 |
+
(flowers 0)
|
| 38 |
+
(total 108) ; 9×3×4 = 108张
|
| 39 |
+
)
|
| 40 |
+
|
| 41 |
+
(phases [ "setup" "deal" "choose_que" "play" "settle" ])
|
| 42 |
+
|
| 43 |
+
(setup
|
| 44 |
+
(dealer "random")
|
| 45 |
+
(initial_hand 13)
|
| 46 |
+
|
| 47 |
+
;; 定缺机制
|
| 48 |
+
(choose_que
|
| 49 |
+
(enabled true)
|
| 50 |
+
(must_keep_under_two_suits_to_win true) ; 胡牌时必须缺一门
|
| 51 |
+
(lock_que true)) ; 定缺后该花色必须打完
|
| 52 |
+
|
| 53 |
+
(exchange_three (enabled false)) ; 标准版通常无换三张,可配置
|
| 54 |
+
)
|
| 55 |
+
|
| 56 |
+
;; ---- 行为权限 ----
|
| 57 |
+
(actions
|
| 58 |
+
(allow_chi false) ; 不可吃
|
| 59 |
+
(allow_peng true) ; 可碰
|
| 60 |
+
(allow_gang { "concealed" "melded" "added" }) ; 可暗杠、直杠、补杠
|
| 61 |
+
(one_tile_multi_claim true) ; 允许一炮多响
|
| 62 |
+
)
|
| 63 |
+
|
| 64 |
+
;; ---- 胡牌规则 ----
|
| 65 |
+
(win_rules
|
| 66 |
+
(allow_self_draw_win true)
|
| 67 |
+
(allow_discard_win true)
|
| 68 |
+
(allow_gang_win true)
|
| 69 |
+
(allow_rob_kong true)
|
| 70 |
+
(allow_multi_win true)
|
| 71 |
+
|
| 72 |
+
;; 硬性限制
|
| 73 |
+
(requirements
|
| 74 |
+
(must_que true) ; 必须缺一门才能胡
|
| 75 |
+
)
|
| 76 |
+
|
| 77 |
+
;; 血战流程
|
| 78 |
+
(post_win_continuation
|
| 79 |
+
(mode "xuezhan")
|
| 80 |
+
(winner_exit true) ; 胡牌者退出
|
| 81 |
+
(end_when_third_player_wins true) ; 3人胡牌结束
|
| 82 |
+
)
|
| 83 |
+
)
|
| 84 |
+
|
| 85 |
+
;; =========================
|
| 86 |
+
;; 3. Scoring:计分与番型
|
| 87 |
+
;; =========================
|
| 88 |
+
|
| 89 |
+
(scoring
|
| 90 |
+
(mode "multiplier") ; 倍数制
|
| 91 |
+
(base_point 1)
|
| 92 |
+
(self_draw_multiplier 2) ; 自摸加番 (x2)
|
| 93 |
+
(discard_win_multiplier 1) ; 点炮不加番 (x1)
|
| 94 |
+
)
|
| 95 |
+
|
| 96 |
+
;; ---- 番型表 (2进制倍数) ----
|
| 97 |
+
(fan_table
|
| 98 |
+
(stacking "multiply") ; 倍数叠乘
|
| 99 |
+
|
| 100 |
+
;; 1番 (2倍)
|
| 101 |
+
(yaku pinghu (mult 1) (category "basic") (desc "平胡(0番=1倍)"))
|
| 102 |
+
(yaku duanyao (mult 2) (category "addon") (desc "断幺九(1番=2倍)"))
|
| 103 |
+
(yaku menqing (mult 2) (category "addon") (desc "门清(1番=2倍)"))
|
| 104 |
+
(yaku gen (mult 2) (category "addon") (desc "根(1番=2倍)"))
|
| 105 |
+
|
| 106 |
+
;; 2番 (4倍)
|
| 107 |
+
(yaku pengpenghu (mult 4) (category "special") (desc "碰碰胡(2番=4倍)"))
|
| 108 |
+
(yaku qingyise (mult 4) (category "special") (desc "清一色(2番=4倍)"))
|
| 109 |
+
(yaku qianggang (mult 4) (category "event") (desc "抢杠胡(2番=4倍)"))
|
| 110 |
+
(yaku gangkai (mult 4) (category "event") (desc "杠上开花(2番=4倍)"))
|
| 111 |
+
(yaku gangpao (mult 4) (category "event") (desc "杠上炮(2番=4倍)"))
|
| 112 |
+
|
| 113 |
+
;; 3番 (8倍)
|
| 114 |
+
(yaku qingpeng (mult 8) (category "special") (desc "清碰(3番=8倍)"))
|
| 115 |
+
(yaku qidui (mult 8) (category "special") (desc "七对(3番=8倍)"))
|
| 116 |
+
(yaku daiyao (mult 8) (category "special") (desc "带幺九(3番=8倍)"))
|
| 117 |
+
|
| 118 |
+
;; 4番 (16倍)
|
| 119 |
+
(yaku longqidui (mult 16) (category "special") (desc "龙七对(4番=16倍)"))
|
| 120 |
+
(yaku qingqidui (mult 16) (category "special") (desc "清七对(4番=16倍)"))
|
| 121 |
+
|
| 122 |
+
;; 5番 (32倍)
|
| 123 |
+
(yaku qinglongqidui (mult 32) (category "special") (desc "清龙七对(5番=32倍)"))
|
| 124 |
+
|
| 125 |
+
;; 6番 (64倍)
|
| 126 |
+
(yaku tianhu (mult 64) (category "event") (desc "天胡(6番=64倍)"))
|
| 127 |
+
(yaku dihu (mult 64) (category "event") (desc "地胡(6番=64倍)"))
|
| 128 |
+
)
|
| 129 |
+
|
| 130 |
+
;; ---- 杠分规则 (刮风下雨) ----
|
| 131 |
+
(kong_rules
|
| 132 |
+
(settle_immediately true) ; 即时结算
|
| 133 |
+
|
| 134 |
+
;; 刮风 (明杠)
|
| 135 |
+
(melded_kong
|
| 136 |
+
(point_provider_pays 2) ; 点杠者付2倍 (引杠)
|
| 137 |
+
(others_pay 0)) ; 其他人不付
|
| 138 |
+
|
| 139 |
+
(added_kong
|
| 140 |
+
(all_pay 1)) ; 补杠:所有未胡者付1倍 (面下杠)
|
| 141 |
+
|
| 142 |
+
;; 下雨 (暗杠)
|
| 143 |
+
(concealed_kong
|
| 144 |
+
(all_pay 2)) ; 暗杠:所有未胡者付2倍
|
| 145 |
+
)
|
| 146 |
+
|
| 147 |
+
;; =========================
|
| 148 |
+
;; 4. 结算规则
|
| 149 |
+
;; =========================
|
| 150 |
+
|
| 151 |
+
(settlement
|
| 152 |
+
(score_formula
|
| 153 |
+
(胡分 = "底分 * (番型倍数 * 根倍数 * 自摸倍数)")
|
| 154 |
+
(杠分 = "底分 * 杠倍数")
|
| 155 |
+
(总分 = "胡分 + 杠分")
|
| 156 |
+
|
| 157 |
+
(on_self_draw (payer "all_others"))
|
| 158 |
+
(on_discard (payer "shooter_only"))
|
| 159 |
+
)
|
| 160 |
+
|
| 161 |
+
;; 查大叫/查花猪
|
| 162 |
+
(on_draw
|
| 163 |
+
(cha_hua_zhu
|
| 164 |
+
(enabled true)
|
| 165 |
+
(penalty "max_possible_score") ; 赔给非花猪玩家极刑(通常16倍或封顶)
|
| 166 |
+
(priority 1)) ; 先查花猪
|
| 167 |
+
|
| 168 |
+
(cha_da_jiao
|
| 169 |
+
(enabled true)
|
| 170 |
+
(penalty "max_possible_score") ; 赔给听牌玩家最大可能番数
|
| 171 |
+
(priority 2)) ; 后查大叫
|
| 172 |
+
|
| 173 |
+
(kong_scores_kept true) ; 杠分不退回
|
| 174 |
+
)
|
| 175 |
+
)
|
| 176 |
+
|
| 177 |
+
;; =========================
|
| 178 |
+
;; 5. 守恒不变量
|
| 179 |
+
;; =========================
|
| 180 |
+
|
| 181 |
+
(invariants
|
| 182 |
+
(tile_conservation
|
| 183 |
+
(formula "(+ (zone wall) (zone hand:A1) ... (zone discard_pile)) = 108"))
|
| 184 |
+
(constraints
|
| 185 |
+
(must_lack_one_suit true) ; 必须缺一门
|
| 186 |
+
(blood_war_mode true))
|
| 187 |
+
)
|
| 188 |
+
)
|
疯狂血流_mGDL_v1.3.txt
ADDED
|
@@ -0,0 +1,190 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
(game "Crazy_Blood_Flow" (version "1.3.0")
|
| 2 |
+
;; =========================
|
| 3 |
+
;; 1. 元信息 & 概览
|
| 4 |
+
;; =========================
|
| 5 |
+
|
| 6 |
+
(game_variant "blood_flow")
|
| 7 |
+
(rule_profile
|
| 8 |
+
(blood_mode "xueliu") ; 血流模式:胡牌不结束,无限胡
|
| 9 |
+
(scoring_mode "multiplier") ; 倍数制:10进制 (1, 10, 100, 1000...)
|
| 10 |
+
(has_wildcard true) ; 有赖子 (红中)
|
| 11 |
+
(has_horse false)
|
| 12 |
+
(has_contract false)
|
| 13 |
+
(has_multi_round false)
|
| 14 |
+
(has_ting_system false)
|
| 15 |
+
(has_chicken_system false)
|
| 16 |
+
(has_bean_system false)
|
| 17 |
+
)
|
| 18 |
+
|
| 19 |
+
;; =========================
|
| 20 |
+
;; 2. Rule-Core:玩法本体
|
| 21 |
+
;; =========================
|
| 22 |
+
|
| 23 |
+
(players 4)
|
| 24 |
+
(seats [ "A1" "A2" "A3" "A4" ])
|
| 25 |
+
(turn_order
|
| 26 |
+
(order cyclic A1 A2 A3 A4)
|
| 27 |
+
(on_peng_keep_turn true)
|
| 28 |
+
(on_gang_keep_turn true)
|
| 29 |
+
)
|
| 30 |
+
|
| 31 |
+
;; ---- 牌组定义 ----
|
| 32 |
+
(tileset
|
| 33 |
+
(suits { "wan" "tong" "tiao" })
|
| 34 |
+
(ranks 1..9)
|
| 35 |
+
(copies 4)
|
| 36 |
+
(honors 0) (honor_copies 0)
|
| 37 |
+
(flowers 0)
|
| 38 |
+
(hongzhong 6) ; 6个红中 (王者场8个)
|
| 39 |
+
(total 114) ; 108 + 6 = 114张
|
| 40 |
+
)
|
| 41 |
+
|
| 42 |
+
(phases [ "setup" "deal" "choose_que" "play" "settle" ])
|
| 43 |
+
|
| 44 |
+
(setup
|
| 45 |
+
(dealer "random")
|
| 46 |
+
(initial_hand 13)
|
| 47 |
+
|
| 48 |
+
(choose_que
|
| 49 |
+
(enabled true)
|
| 50 |
+
(must_keep_under_two_suits_to_win true)
|
| 51 |
+
(lock_que true))
|
| 52 |
+
|
| 53 |
+
(exchange_three (enabled false))
|
| 54 |
+
)
|
| 55 |
+
|
| 56 |
+
;; ---- 行为权限 ----
|
| 57 |
+
(actions
|
| 58 |
+
(allow_chi false)
|
| 59 |
+
(allow_peng true)
|
| 60 |
+
(allow_gang { "concealed" "melded" "added" })
|
| 61 |
+
(one_tile_multi_claim true) ; 一炮多响
|
| 62 |
+
(one_tile_multi_use true) ; 一牌多用:可同时被胡和碰杠
|
| 63 |
+
)
|
| 64 |
+
|
| 65 |
+
;; ---- 胡牌规则 ----
|
| 66 |
+
(win_rules
|
| 67 |
+
(allow_self_draw_win true)
|
| 68 |
+
(allow_discard_win true)
|
| 69 |
+
(allow_gang_win true)
|
| 70 |
+
(allow_rob_kong false) ; 不允许抢杠胡
|
| 71 |
+
(allow_multi_win true)
|
| 72 |
+
|
| 73 |
+
(requirements
|
| 74 |
+
(must_que true)
|
| 75 |
+
)
|
| 76 |
+
|
| 77 |
+
;; 血流流程
|
| 78 |
+
(post_win_continuation
|
| 79 |
+
(mode "xueliu")
|
| 80 |
+
(winner_exit false) ; 胡牌者不退出,继续摸打
|
| 81 |
+
(keep_turn_order true) ; 顺序不变
|
| 82 |
+
(end_when_wall_empty true) ; 牌墙摸完结束
|
| 83 |
+
)
|
| 84 |
+
)
|
| 85 |
+
|
| 86 |
+
;; =========================
|
| 87 |
+
;; 3. Scoring:计分与番型
|
| 88 |
+
;; =========================
|
| 89 |
+
|
| 90 |
+
(scoring
|
| 91 |
+
(mode "multiplier") ; 倍数制 (10进制)
|
| 92 |
+
(base_point 1)
|
| 93 |
+
(self_draw_multiplier 10) ; 自摸 x10 (疯狂体系特征)
|
| 94 |
+
(discard_win_multiplier 1)
|
| 95 |
+
)
|
| 96 |
+
|
| 97 |
+
;; ---- 番型表 (10进制倍数) ----
|
| 98 |
+
(fan_table
|
| 99 |
+
(stacking "multiply") ; 倍数叠乘
|
| 100 |
+
|
| 101 |
+
;; 1番 (10倍)
|
| 102 |
+
(yaku pengpenghu (mult 10) (category "special") (desc "碰碰胡"))
|
| 103 |
+
(yaku quanshuang (mult 10) (category "special") (desc "全双(2/4/6/8)"))
|
| 104 |
+
(yaku quandan (mult 10) (category "special") (desc "全单(1/3/5/7/9)"))
|
| 105 |
+
(yaku sanjiegao (mult 10) (category "special") (desc "三节高"))
|
| 106 |
+
(yaku dayuwu (mult 10) (category "special") (desc "大于五"))
|
| 107 |
+
(yaku xiaoyuwu (mult 10) (category "special") (desc "小于五"))
|
| 108 |
+
(yaku gangkai (mult 10) (category "event") (desc "杠上开花"))
|
| 109 |
+
(yaku gangpao (mult 10) (category "event") (desc "杠上炮"))
|
| 110 |
+
(yaku gen (mult 10) (category "addon") (desc "根"))
|
| 111 |
+
|
| 112 |
+
;; 2番 (100倍)
|
| 113 |
+
(yaku qingyise (mult 100) (category "special") (desc "清一色"))
|
| 114 |
+
(yaku jingoudiao (mult 100) (category "special") (desc "金钩钓"))
|
| 115 |
+
(yaku sijiegao (mult 100) (category "special") (desc "四节高"))
|
| 116 |
+
|
| 117 |
+
;; 3番 (1000倍)
|
| 118 |
+
(yaku shierjinchai (mult 1000) (category "special") (desc "十二金钗(3根)"))
|
| 119 |
+
|
| 120 |
+
;; 4番 (10000倍)
|
| 121 |
+
(yaku wanzhongwushuang (mult 10000) (category "special") (desc "万中无双(13579万)"))
|
| 122 |
+
(yaku shibaluohan (mult 10000) (category "special") (desc "十八罗汉(4根)"))
|
| 123 |
+
(yaku lvyise (mult 10000) (category "special") (desc "绿一色"))
|
| 124 |
+
(yaku dachelun (mult 10000) (category "special") (desc "大车轮"))
|
| 125 |
+
|
| 126 |
+
;; 5番 (100000倍)
|
| 127 |
+
(yaku daweitianlong (mult 100000) (category "special") (desc "大威天龙(5个同花色序数相连)"))
|
| 128 |
+
|
| 129 |
+
;; 7番 (10000000倍)
|
| 130 |
+
(yaku tianhu (mult 10000000) (category "event") (desc "天胡"))
|
| 131 |
+
(yaku dihu (mult 10000000) (category "event") (desc "地胡"))
|
| 132 |
+
|
| 133 |
+
;; 基础牌型 (1倍)
|
| 134 |
+
(yaku pinghu (mult 1) (category "basic") (desc "平胡"))
|
| 135 |
+
)
|
| 136 |
+
|
| 137 |
+
;; ---- 特殊机制 ----
|
| 138 |
+
(wildcard
|
| 139 |
+
(enabled true)
|
| 140 |
+
(type "hongzhong")
|
| 141 |
+
(as_any_tile true)
|
| 142 |
+
(can_discard true) ; 红中可打出
|
| 143 |
+
(discard_effect ; 打出红中算杠
|
| 144 |
+
(type "kong_score")
|
| 145 |
+
(mult 10)
|
| 146 |
+
(draw_replacement true)) ; 补一张牌
|
| 147 |
+
)
|
| 148 |
+
|
| 149 |
+
;; ---- 杠分规则 ----
|
| 150 |
+
(kong_rules
|
| 151 |
+
(count_gang_point false) ; 疯狂血流不计杠分 (无金流)
|
| 152 |
+
)
|
| 153 |
+
|
| 154 |
+
;; =========================
|
| 155 |
+
;; 4. 结算规则
|
| 156 |
+
;; =========================
|
| 157 |
+
|
| 158 |
+
(settlement
|
| 159 |
+
(score_formula
|
| 160 |
+
(胡分 = "底分 * 番型倍数 * 自摸倍数")
|
| 161 |
+
(自摸 "收3家")
|
| 162 |
+
(点炮 "点炮者付")
|
| 163 |
+
)
|
| 164 |
+
|
| 165 |
+
;; 查大叫/查花猪
|
| 166 |
+
(on_draw
|
| 167 |
+
(cha_hua_zhu
|
| 168 |
+
(enabled true)
|
| 169 |
+
(penalty "cap_multiplier") ; 赔封顶倍数
|
| 170 |
+
(priority 1))
|
| 171 |
+
|
| 172 |
+
(cha_da_jiao
|
| 173 |
+
(enabled true)
|
| 174 |
+
(penalty "max_possible_score") ; 赔最大可能倍数
|
| 175 |
+
(priority 2))
|
| 176 |
+
)
|
| 177 |
+
)
|
| 178 |
+
|
| 179 |
+
;; =========================
|
| 180 |
+
;; 5. 守恒不变量
|
| 181 |
+
;; =========================
|
| 182 |
+
|
| 183 |
+
(invariants
|
| 184 |
+
(tile_conservation
|
| 185 |
+
(formula "(+ (zone wall) (zone hand:A1) ... (zone discard_pile)) = 114"))
|
| 186 |
+
(constraints
|
| 187 |
+
(hongzhong_count 6)
|
| 188 |
+
(blood_flow_mode true))
|
| 189 |
+
)
|
| 190 |
+
)
|
红中麻将_mGDL_v1.3.txt
ADDED
|
@@ -0,0 +1,168 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
(game "Hongzhong_Mahjong" (version "1.3.0")
|
| 2 |
+
;; =========================
|
| 3 |
+
;; 1. 元信息 & 概览
|
| 4 |
+
;; =========================
|
| 5 |
+
|
| 6 |
+
(game_variant "round")
|
| 7 |
+
(rule_profile
|
| 8 |
+
(blood_mode "none")
|
| 9 |
+
(scoring_mode "multiplier") ; 倍数制
|
| 10 |
+
(has_wildcard true) ; 红中赖子
|
| 11 |
+
(has_horse true) ; 扎鸟
|
| 12 |
+
(has_contract false)
|
| 13 |
+
(has_multi_round false)
|
| 14 |
+
(has_ting_system false)
|
| 15 |
+
(has_chicken_system false)
|
| 16 |
+
(has_bean_system false)
|
| 17 |
+
)
|
| 18 |
+
|
| 19 |
+
;; =========================
|
| 20 |
+
;; 2. Rule-Core:玩法本体
|
| 21 |
+
;; =========================
|
| 22 |
+
|
| 23 |
+
(players 4)
|
| 24 |
+
(seats [ "A1" "A2" "A3" "A4" ])
|
| 25 |
+
(turn_order
|
| 26 |
+
(order cyclic A1 A2 A3 A4)
|
| 27 |
+
(on_peng_keep_turn true)
|
| 28 |
+
(on_gang_keep_turn true)
|
| 29 |
+
)
|
| 30 |
+
|
| 31 |
+
;; ---- 牌组定义 ----
|
| 32 |
+
(tileset
|
| 33 |
+
(suits { "wan" "tong" "tiao" })
|
| 34 |
+
(ranks 1..9)
|
| 35 |
+
(copies 4)
|
| 36 |
+
(honors 0) (honor_copies 0)
|
| 37 |
+
(flowers 0)
|
| 38 |
+
(hongzhong 4) ; 4张红中
|
| 39 |
+
(total 112) ; 108 + 4 = 112
|
| 40 |
+
)
|
| 41 |
+
|
| 42 |
+
(phases [ "setup" "deal" "play" "settle" ])
|
| 43 |
+
|
| 44 |
+
(setup
|
| 45 |
+
(dealer "random")
|
| 46 |
+
(initial_hand 13)
|
| 47 |
+
(choose_que (enabled false))
|
| 48 |
+
(exchange_three (enabled false))
|
| 49 |
+
|
| 50 |
+
;; 漂分
|
| 51 |
+
(piao_score
|
| 52 |
+
(enabled true)
|
| 53 |
+
(mode "pre_game")
|
| 54 |
+
(range [0 1 2 3])) ; 可选漂0-3分
|
| 55 |
+
)
|
| 56 |
+
|
| 57 |
+
;; ---- 行为权限 ----
|
| 58 |
+
(actions
|
| 59 |
+
(allow_chi false)
|
| 60 |
+
(allow_peng true)
|
| 61 |
+
(allow_gang { "concealed" "melded" "added" })
|
| 62 |
+
(one_tile_multi_claim true)
|
| 63 |
+
)
|
| 64 |
+
|
| 65 |
+
;; ---- 胡牌规则 ----
|
| 66 |
+
(win_rules
|
| 67 |
+
(allow_self_draw_win true)
|
| 68 |
+
(allow_discard_win false) ; 大多红中麻将只能自摸(抢杠除外)
|
| 69 |
+
(allow_gang_win true)
|
| 70 |
+
(allow_rob_kong true) ; 可抢杠
|
| 71 |
+
(allow_multi_win true)
|
| 72 |
+
|
| 73 |
+
(pattern_specific_constraints
|
| 74 |
+
(hongzhong_single_wait_special true)
|
| 75 |
+
)
|
| 76 |
+
|
| 77 |
+
(post_win_continuation
|
| 78 |
+
(mode "round")
|
| 79 |
+
)
|
| 80 |
+
)
|
| 81 |
+
|
| 82 |
+
;; =========================
|
| 83 |
+
;; 3. Scoring:计分与番型
|
| 84 |
+
;; =========================
|
| 85 |
+
|
| 86 |
+
(scoring
|
| 87 |
+
(mode "multiplier")
|
| 88 |
+
(base_point 1)
|
| 89 |
+
)
|
| 90 |
+
|
| 91 |
+
;; ---- 番型表 ----
|
| 92 |
+
(fan_table
|
| 93 |
+
(stacking "multiply") ; 倍数叠乘
|
| 94 |
+
|
| 95 |
+
;; 基础
|
| 96 |
+
(yaku pinghu (mult 1) (category "basic") (desc "平胡"))
|
| 97 |
+
(yaku pengpenghu (mult 2) (category "special") (desc "碰碰胡"))
|
| 98 |
+
(yaku jingoudiao (mult 3) (category "special") (desc "金钩钓"))
|
| 99 |
+
(yaku qidui (mult 3) (category "special") (desc "七对"))
|
| 100 |
+
(yaku qingyise (mult 4) (category "special") (desc "清一色"))
|
| 101 |
+
(yaku longqidui (mult 4) (category "special") (desc "龙七对"))
|
| 102 |
+
|
| 103 |
+
;; 复合 (可自动计算,也可列出)
|
| 104 |
+
(yaku qingpeng (mult 6) (category "special") (desc "清碰"))
|
| 105 |
+
(yaku qingjingoudiao (mult 7) (category "special") (desc "清金钩钓"))
|
| 106 |
+
(yaku qingqidui (mult 7) (category "special") (desc "清七对"))
|
| 107 |
+
(yaku qinglongdui (mult 10) (category "special") (desc "清龙对"))
|
| 108 |
+
|
| 109 |
+
;; 红中相关
|
| 110 |
+
(yaku mantanghong (mult 15) (category "special") (desc "满堂红:4个红中"))
|
| 111 |
+
(yaku hongyundangtou (mult 25) (category "special") (desc "鸿运当头:起手4红中"))
|
| 112 |
+
|
| 113 |
+
;; 额外加成 (Additive or Multiplier) - v1.3 prefers distinct handling
|
| 114 |
+
(yaku zimo (mult 2) (category "event") (desc "自摸加倍")) ; 用mult 2表示x2
|
| 115 |
+
(yaku gangkai (mult 2) (category "event") (desc "杠开加倍"))
|
| 116 |
+
(yaku haidilao (mult 2) (category "event") (desc "海底捞加倍"))
|
| 117 |
+
(yaku yinghu (mult 2) (category "addon") (desc "硬胡:无红中"))
|
| 118 |
+
)
|
| 119 |
+
|
| 120 |
+
;; =========================
|
| 121 |
+
;; 4. 特殊机制
|
| 122 |
+
;; =========================
|
| 123 |
+
|
| 124 |
+
;; ---- 红中赖子 ----
|
| 125 |
+
(wildcard
|
| 126 |
+
(enabled true)
|
| 127 |
+
(type "hongzhong")
|
| 128 |
+
(as_any_tile true)
|
| 129 |
+
(can_discard true)
|
| 130 |
+
(can_peng_gang false)
|
| 131 |
+
)
|
| 132 |
+
|
| 133 |
+
;; ---- 飞红中 ----
|
| 134 |
+
(discard_multiplier
|
| 135 |
+
(enabled true)
|
| 136 |
+
(target_tile "红中")
|
| 137 |
+
(effect "per_discard_double") ; 飞1个翻1倍(x2),飞2个x4
|
| 138 |
+
)
|
| 139 |
+
|
| 140 |
+
;; ---- 扎鸟 ----
|
| 141 |
+
(horse_rules
|
| 142 |
+
(enabled true)
|
| 143 |
+
(mode "bird")
|
| 144 |
+
(count 2) ; 抓2鸟? 4鸟? 视具体规则,这里设为2
|
| 145 |
+
(hit_mapping
|
| 146 |
+
("1" (mult 1)) ("5" (mult 1)) ("9" (mult 1)) ("hongzhong" (mult 1)))
|
| 147 |
+
(effect "add_score") ; 中鸟加分/倍
|
| 148 |
+
)
|
| 149 |
+
|
| 150 |
+
;; =========================
|
| 151 |
+
;; 5. 结算规则
|
| 152 |
+
;; =========================
|
| 153 |
+
|
| 154 |
+
(settlement
|
| 155 |
+
(score_formula
|
| 156 |
+
(胡分 = "基数 * 番型 * 飞红中 * 扎鸟 * 漂分")
|
| 157 |
+
(on_self_draw (payer "all_others") (count 3)) ;; 没点炮,只有自摸
|
| 158 |
+
)
|
| 159 |
+
(kong_scores_kept true)
|
| 160 |
+
)
|
| 161 |
+
|
| 162 |
+
(invariants
|
| 163 |
+
(tile_conservation
|
| 164 |
+
(formula "(+ (zone wall) ... ) = 112"))
|
| 165 |
+
(constraints
|
| 166 |
+
(hongzhong_count 4))
|
| 167 |
+
)
|
| 168 |
+
)
|
经典推倒胡_mGDL_v1.3.txt
ADDED
|
@@ -0,0 +1,118 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
(game "Classic_TuiDaoHu" (version "1.3.0")
|
| 2 |
+
;; =========================
|
| 3 |
+
;; 1. 元信息 & 概览
|
| 4 |
+
;; =========================
|
| 5 |
+
|
| 6 |
+
(game_variant "round")
|
| 7 |
+
(rule_profile
|
| 8 |
+
(blood_mode "none")
|
| 9 |
+
(scoring_mode "hybrid") ; 混合制
|
| 10 |
+
(has_wildcard false)
|
| 11 |
+
(has_horse true) ; 8马
|
| 12 |
+
(has_contract false)
|
| 13 |
+
(has_multi_round false)
|
| 14 |
+
(has_ting_system false)
|
| 15 |
+
(has_chicken_system false)
|
| 16 |
+
(has_bean_system false)
|
| 17 |
+
)
|
| 18 |
+
|
| 19 |
+
;; =========================
|
| 20 |
+
;; 2. Rule-Core:玩法本体
|
| 21 |
+
;; =========================
|
| 22 |
+
|
| 23 |
+
(players 4)
|
| 24 |
+
(seats [ "A1" "A2" "A3" "A4" ])
|
| 25 |
+
(turn_order
|
| 26 |
+
(order cyclic A1 A2 A3 A4)
|
| 27 |
+
(on_peng_keep_turn true)
|
| 28 |
+
(on_gang_keep_turn true)
|
| 29 |
+
)
|
| 30 |
+
|
| 31 |
+
;; ---- 牌组定义 ----
|
| 32 |
+
(tileset
|
| 33 |
+
(suits { "wan" "tong" "tiao" })
|
| 34 |
+
(ranks 1..9)
|
| 35 |
+
(copies 4)
|
| 36 |
+
(honors 0)
|
| 37 |
+
(flowers 8) ; 花牌
|
| 38 |
+
(total 116)
|
| 39 |
+
)
|
| 40 |
+
|
| 41 |
+
(phases [ "setup" "deal" "play" "settle" ])
|
| 42 |
+
|
| 43 |
+
(setup
|
| 44 |
+
(dealer "rotate")
|
| 45 |
+
(initial_hand 13)
|
| 46 |
+
(choose_que (enabled false))
|
| 47 |
+
(exchange_three (enabled false))
|
| 48 |
+
)
|
| 49 |
+
|
| 50 |
+
;; ---- 行为权限 ----
|
| 51 |
+
(actions
|
| 52 |
+
(allow_chi false)
|
| 53 |
+
(allow_peng true)
|
| 54 |
+
(allow_gang { "concealed" "melded" "added" })
|
| 55 |
+
(one_tile_multi_claim false)
|
| 56 |
+
)
|
| 57 |
+
|
| 58 |
+
;; ---- 胡牌规则 ----
|
| 59 |
+
(win_rules
|
| 60 |
+
(allow_self_draw_win true)
|
| 61 |
+
(allow_discard_win false) ; 只能自摸(或抢杠)
|
| 62 |
+
(allow_gang_win true)
|
| 63 |
+
(allow_rob_kong true)
|
| 64 |
+
(allow_multi_win false)
|
| 65 |
+
|
| 66 |
+
(post_win_continuation
|
| 67 |
+
(mode "round")
|
| 68 |
+
)
|
| 69 |
+
)
|
| 70 |
+
|
| 71 |
+
;; =========================
|
| 72 |
+
;; 3. Scoring:计分与番型
|
| 73 |
+
;; =========================
|
| 74 |
+
|
| 75 |
+
(scoring
|
| 76 |
+
(mode "hybrid")
|
| 77 |
+
(base_point 1)
|
| 78 |
+
)
|
| 79 |
+
|
| 80 |
+
;; ---- 番型表 ----
|
| 81 |
+
(fan_table
|
| 82 |
+
(stacking "add") ; 叠加
|
| 83 |
+
|
| 84 |
+
;; 简易推倒胡通常只有几个基础番型
|
| 85 |
+
(yaku zimo (mult 1) (category "event") (desc "自摸"))
|
| 86 |
+
(yaku gangkai (mult 1) (category "event") (desc "杠开"))
|
| 87 |
+
(yaku qianggang (mult 1) (category "event") (desc "抢杠"))
|
| 88 |
+
(yaku haidilao (mult 1) (category "event") (desc "海底捞"))
|
| 89 |
+
|
| 90 |
+
(yaku pengpenghu (mult 1) (category "pattern") (desc "碰碰胡"))
|
| 91 |
+
(yaku qingyise (mult 1) (category "pattern") (desc "清一色"))
|
| 92 |
+
(yaku qidui (mult 1) (category "pattern") (desc "七对"))
|
| 93 |
+
)
|
| 94 |
+
|
| 95 |
+
;; =========================
|
| 96 |
+
;; 4. 特殊机制
|
| 97 |
+
;; =========================
|
| 98 |
+
|
| 99 |
+
;; ---- 买马 ----
|
| 100 |
+
(horse_rules
|
| 101 |
+
(enabled true)
|
| 102 |
+
(mode "horse")
|
| 103 |
+
(count 8) ; 8马
|
| 104 |
+
(draw_from "external_deck")
|
| 105 |
+
(effect "add_score") ; 中一个加底分?
|
| 106 |
+
(hit_mapping ("rank 1/5/9 or flower" (mult 1)))
|
| 107 |
+
)
|
| 108 |
+
|
| 109 |
+
;; ---- 承包 ----
|
| 110 |
+
(contract_rules
|
| 111 |
+
(gang_bao_contract (enabled true))
|
| 112 |
+
)
|
| 113 |
+
|
| 114 |
+
(invariants
|
| 115 |
+
(tile_conservation
|
| 116 |
+
(formula "(+ (zone wall) ... ) = 116"))
|
| 117 |
+
)
|
| 118 |
+
)
|
贵州捉鸡麻将_mGDL_v1.3.txt
ADDED
|
@@ -0,0 +1,219 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
(game "Guizhou_Zhuoji_Mahjong" (version "1.3.0")
|
| 2 |
+
;; =========================
|
| 3 |
+
;; 1. 元信息 & 概览
|
| 4 |
+
;; =========================
|
| 5 |
+
|
| 6 |
+
(game_variant "round")
|
| 7 |
+
(rule_profile
|
| 8 |
+
(blood_mode "none")
|
| 9 |
+
(scoring_mode "hybrid") ; 混合制:豆分+鸡牌分+番型分+事件分
|
| 10 |
+
(has_wildcard false)
|
| 11 |
+
(has_horse false)
|
| 12 |
+
(has_contract false)
|
| 13 |
+
(has_multi_round false)
|
| 14 |
+
(has_ting_system true) ; 有报听系统
|
| 15 |
+
(has_chicken_system true) ; 有鸡牌系统
|
| 16 |
+
(has_bean_system true) ; 有豆/通行证系统
|
| 17 |
+
)
|
| 18 |
+
|
| 19 |
+
;; =========================
|
| 20 |
+
;; 2. Rule-Core:玩法本体
|
| 21 |
+
;; =========================
|
| 22 |
+
|
| 23 |
+
(players 4)
|
| 24 |
+
(seats [ "A1" "A2" "A3" "A4" ])
|
| 25 |
+
(turn_order
|
| 26 |
+
(order cyclic A1 A2 A3 A4)
|
| 27 |
+
(on_peng_keep_turn true)
|
| 28 |
+
(on_gang_keep_turn true)
|
| 29 |
+
)
|
| 30 |
+
|
| 31 |
+
;; ---- 牌组定义 ----
|
| 32 |
+
(tileset
|
| 33 |
+
(suits { "wan" "tong" "tiao" })
|
| 34 |
+
(ranks 1..9)
|
| 35 |
+
(copies 4)
|
| 36 |
+
(honors 0) (honor_copies 0)
|
| 37 |
+
(flowers 0)
|
| 38 |
+
(total 108)
|
| 39 |
+
)
|
| 40 |
+
|
| 41 |
+
(phases [ "setup" "deal" "play" "settle" ])
|
| 42 |
+
|
| 43 |
+
(setup
|
| 44 |
+
(dealer "random")
|
| 45 |
+
(initial_hand 13)
|
| 46 |
+
(exchange_three (enabled false))
|
| 47 |
+
|
| 48 |
+
;; 捉鸡牌(胡牌后翻)
|
| 49 |
+
(flip_chicken
|
| 50 |
+
(enabled true)
|
| 51 |
+
(timing "after_win")
|
| 52 |
+
(source "wall_first") ; 翻牌墙第1张
|
| 53 |
+
(rule "plus_one_with_cycle") ; 翻牌+1为翻牌鸡,9->1循环
|
| 54 |
+
)
|
| 55 |
+
)
|
| 56 |
+
|
| 57 |
+
;; ---- 行为权限 ----
|
| 58 |
+
(actions
|
| 59 |
+
(allow_chi false)
|
| 60 |
+
(allow_peng true)
|
| 61 |
+
(allow_gang { "concealed" "melded" "added" })
|
| 62 |
+
(one_tile_multi_claim true)
|
| 63 |
+
(ting_no_kong true) ; 报听后不可开杠
|
| 64 |
+
)
|
| 65 |
+
|
| 66 |
+
;; ---- 胡牌规则 ----
|
| 67 |
+
(win_rules
|
| 68 |
+
(allow_self_draw_win true)
|
| 69 |
+
(allow_discard_win true)
|
| 70 |
+
(allow_gang_win true)
|
| 71 |
+
(allow_rob_kong true)
|
| 72 |
+
(allow_multi_win true)
|
| 73 |
+
|
| 74 |
+
;; 胡牌条件
|
| 75 |
+
(requirements
|
| 76 |
+
(discard_win_needs_bean_or_sha_bao true) ; 点炮胡平胡需豆或杀报
|
| 77 |
+
)
|
| 78 |
+
|
| 79 |
+
(post_win_continuation
|
| 80 |
+
(mode "round") ; 一局一胡
|
| 81 |
+
)
|
| 82 |
+
)
|
| 83 |
+
|
| 84 |
+
;; =========================
|
| 85 |
+
;; 3. Scoring:计分与番型
|
| 86 |
+
;; =========================
|
| 87 |
+
|
| 88 |
+
(scoring
|
| 89 |
+
(mode "hybrid")
|
| 90 |
+
(base_point 1)
|
| 91 |
+
|
| 92 |
+
;; 统计规则
|
| 93 |
+
(calculation_rules
|
| 94 |
+
(bean_scoring "additive") ; 豆分:加法
|
| 95 |
+
(chicken_scoring "additive") ; 鸡牌分:加法
|
| 96 |
+
(fan_scoring "max_only") ; 番型分:仅取最大
|
| 97 |
+
(event_scoring "additive")) ; 事件分:加法(可叠加)
|
| 98 |
+
)
|
| 99 |
+
|
| 100 |
+
;; ---- 番型表 (混合制) ----
|
| 101 |
+
(fan_table
|
| 102 |
+
(stacking "none") ; 番型不叠加,仅取最大
|
| 103 |
+
|
| 104 |
+
;; 番型分 (Category: pattern)
|
| 105 |
+
(yaku pinghu (mult 3) (category "pattern") (desc "平胡"))
|
| 106 |
+
(yaku daduizi (mult 10) (category "pattern") (desc "大对子"))
|
| 107 |
+
(yaku qingyise (mult 15) (category "pattern") (desc "清一色"))
|
| 108 |
+
(yaku qidui (mult 15) (category "pattern") (desc "七对"))
|
| 109 |
+
(yaku longqidui (mult 30) (category "pattern") (desc "龙七对"))
|
| 110 |
+
(yaku qingdadui (mult 25) (category "pattern") (desc "清大对"))
|
| 111 |
+
(yaku qingqidui (mult 30) (category "pattern") (desc "清七对"))
|
| 112 |
+
(yaku qinglongbei (mult 45) (category "pattern") (desc "清龙背"))
|
| 113 |
+
|
| 114 |
+
;; 事件分 (Category: event) - 可叠加
|
| 115 |
+
(yaku gangkai (mult 6) (category "event") (desc "杠上开花"))
|
| 116 |
+
(yaku qianggang (mult 15) (category "event") (desc "抢杠胡"))
|
| 117 |
+
(yaku baoting (mult 15) (category "event") (desc "报听"))
|
| 118 |
+
(yaku shabao (mult 15) (category "event") (desc "杀报"))
|
| 119 |
+
(yaku repao (mult 6) (category "event") (desc "热炮"))
|
| 120 |
+
)
|
| 121 |
+
|
| 122 |
+
;; =========================
|
| 123 |
+
;; 4. 特殊机制
|
| 124 |
+
;; =========================
|
| 125 |
+
|
| 126 |
+
;; ---- 鸡牌系统 ----
|
| 127 |
+
(chicken_system
|
| 128 |
+
(enabled true)
|
| 129 |
+
|
| 130 |
+
;; 固定鸡牌
|
| 131 |
+
(fixed_chickens [
|
| 132 |
+
(tile "1条" (mult 1) (name "幺鸡"))
|
| 133 |
+
(tile "8筒" (mult 1) (name "乌骨鸡"))
|
| 134 |
+
])
|
| 135 |
+
|
| 136 |
+
;; 翻牌鸡
|
| 137 |
+
(flip_chicken
|
| 138 |
+
(enabled true)
|
| 139 |
+
(rule "plus_one")
|
| 140 |
+
(cycle_on_nine true)
|
| 141 |
+
(mult 1))
|
| 142 |
+
|
| 143 |
+
;; 特殊鸡牌
|
| 144 |
+
(chicken_types
|
| 145 |
+
(golden_chicken (condition "flip_is_1tiao") (mult 3) (name "金鸡"))
|
| 146 |
+
(charge_chicken (condition "first_discard_not_claimed") (mult 3) (name "冲锋鸡"))
|
| 147 |
+
(responsibility_chicken (condition "first_discard_claimed") (mult 3) (name "责任鸡"))
|
| 148 |
+
)
|
| 149 |
+
|
| 150 |
+
;; 包鸡规则
|
| 151 |
+
(bao_chicken
|
| 152 |
+
(enabled true)
|
| 153 |
+
(condition "non_ready_player") ; 未叫嘴玩家
|
| 154 |
+
(include_revealed_only true) ; 仅包已亮出的鸡牌
|
| 155 |
+
)
|
| 156 |
+
)
|
| 157 |
+
|
| 158 |
+
;; ---- 豆/通行证系统 ----
|
| 159 |
+
(bean_system
|
| 160 |
+
(enabled true)
|
| 161 |
+
|
| 162 |
+
(bean_types
|
| 163 |
+
(concealed_bean (mult 3) (payer "all") (name "闷豆"))
|
| 164 |
+
(melded_bean (mult 3) (payer "all") (name "爬坡豆"))
|
| 165 |
+
(pointed_bean (mult 3) (payer "pointer") (name "点豆"))
|
| 166 |
+
)
|
| 167 |
+
|
| 168 |
+
(bean_as_pass true) ; 有豆才能胡点炮平胡
|
| 169 |
+
|
| 170 |
+
(bao_bean
|
| 171 |
+
(enabled true)
|
| 172 |
+
(condition "non_ready_player") ; 未叫嘴玩家反赔
|
| 173 |
+
(reverse_payment true)) ; 收取变为支付
|
| 174 |
+
)
|
| 175 |
+
|
| 176 |
+
;; =========================
|
| 177 |
+
;; 5. 结算规则
|
| 178 |
+
;; =========================
|
| 179 |
+
|
| 180 |
+
(settlement
|
| 181 |
+
(on_win
|
| 182 |
+
(formula "每个玩家得分 = 豆分结算 + 鸡牌结算 + 倍数结算")
|
| 183 |
+
(independent_settlement true) ; 玩家之间独立结算
|
| 184 |
+
|
| 185 |
+
;; 豆分结算
|
| 186 |
+
(bean_settlement
|
| 187 |
+
(闷豆 "基数 * 3,收3家")
|
| 188 |
+
(点豆 "基数 * 3,仅点豆者支付"))
|
| 189 |
+
|
| 190 |
+
;; 鸡牌结算
|
| 191 |
+
(chicken_settlement
|
| 192 |
+
(formula "AB双方鸡牌分 = 基数 *(双方的鸡牌倍数和)"))
|
| 193 |
+
|
| 194 |
+
;; 倍数结算
|
| 195 |
+
(fan_settlement
|
| 196 |
+
(condition "仅胡牌玩家和未胡牌玩家之间")
|
| 197 |
+
(formula "未胡牌玩家输分 = 基数 *(番型倍数 + 事件倍数)"))
|
| 198 |
+
)
|
| 199 |
+
|
| 200 |
+
(on_draw
|
| 201 |
+
(non_ready_penalty
|
| 202 |
+
(pays_ready_max_fan true) ; 未听牌包听牌玩家理论最大番型分
|
| 203 |
+
(bao_own_chicken_bean true)) ; 包自己的鸡、杠分
|
| 204 |
+
)
|
| 205 |
+
)
|
| 206 |
+
|
| 207 |
+
;; =========================
|
| 208 |
+
;; 6. 守恒不变量
|
| 209 |
+
;; =========================
|
| 210 |
+
|
| 211 |
+
(invariants
|
| 212 |
+
(tile_conservation
|
| 213 |
+
(formula "(+ (zone wall) (zone hand:A1) ... (zone discard_pile)) = 108"))
|
| 214 |
+
(constraints
|
| 215 |
+
(has_chicken_system true)
|
| 216 |
+
(has_bean_system true)
|
| 217 |
+
(complex_settlement true))
|
| 218 |
+
)
|
| 219 |
+
)
|
长沙麻将_mGDL_v1.3.txt
ADDED
|
@@ -0,0 +1,140 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
(game "ChangSha_Mahjong" (version "1.3.0")
|
| 2 |
+
;; =========================
|
| 3 |
+
;; 1. 元信息 & 概览
|
| 4 |
+
;; =========================
|
| 5 |
+
|
| 6 |
+
(game_variant "round")
|
| 7 |
+
(rule_profile
|
| 8 |
+
(blood_mode "none")
|
| 9 |
+
(scoring_mode "hybrid") ; 混合制
|
| 10 |
+
(has_wildcard false)
|
| 11 |
+
(has_horse true) ; 扎鸟
|
| 12 |
+
(has_contract false)
|
| 13 |
+
(has_multi_round true)
|
| 14 |
+
(has_ting_system false)
|
| 15 |
+
(has_chicken_system false)
|
| 16 |
+
(has_bean_system false)
|
| 17 |
+
)
|
| 18 |
+
|
| 19 |
+
;; =========================
|
| 20 |
+
;; 2. Rule-Core:玩法本体
|
| 21 |
+
;; =========================
|
| 22 |
+
|
| 23 |
+
(players 4)
|
| 24 |
+
(seats [ "A1" "A2" "A3" "A4" ])
|
| 25 |
+
(turn_order
|
| 26 |
+
(order cyclic A1 A2 A3 A4)
|
| 27 |
+
(on_peng_keep_turn true)
|
| 28 |
+
(on_gang_keep_turn true)
|
| 29 |
+
)
|
| 30 |
+
|
| 31 |
+
;; ---- 牌组定义 ----
|
| 32 |
+
(tileset
|
| 33 |
+
(suits { "wan" "tong" "tiao" })
|
| 34 |
+
(ranks 1..9)
|
| 35 |
+
(copies 4)
|
| 36 |
+
(honors 0)
|
| 37 |
+
(flowers 0)
|
| 38 |
+
(total 108)
|
| 39 |
+
)
|
| 40 |
+
|
| 41 |
+
(phases [ "setup" "deal" "play" "sea_draw" "settle" ])
|
| 42 |
+
|
| 43 |
+
(setup
|
| 44 |
+
(dealer "rotate")
|
| 45 |
+
(initial_hand 13)
|
| 46 |
+
(choose_que (enabled false))
|
| 47 |
+
(exchange_three (enabled false))
|
| 48 |
+
|
| 49 |
+
(sea_draw
|
| 50 |
+
(enabled true)
|
| 51 |
+
(last_n 1)
|
| 52 |
+
(pass_cycle true)
|
| 53 |
+
(prohibit_kong true))
|
| 54 |
+
)
|
| 55 |
+
|
| 56 |
+
;; ---- 行为权限 ----
|
| 57 |
+
(actions
|
| 58 |
+
(allow_chi true)
|
| 59 |
+
(allow_peng true)
|
| 60 |
+
(allow_gang { "concealed" "melded" "added" })
|
| 61 |
+
(one_tile_multi_claim true)
|
| 62 |
+
(claim_priority "gang>peng>bu>chi")
|
| 63 |
+
)
|
| 64 |
+
|
| 65 |
+
;; ---- 胡牌规则 ----
|
| 66 |
+
(win_rules
|
| 67 |
+
(allow_self_draw_win true)
|
| 68 |
+
(allow_discard_win true)
|
| 69 |
+
(allow_gang_win true)
|
| 70 |
+
(allow_rob_kong true)
|
| 71 |
+
(allow_multi_win true)
|
| 72 |
+
|
| 73 |
+
(requirements
|
| 74 |
+
(small_hand_pair_must_be_258 true) ; 小胡258将
|
| 75 |
+
)
|
| 76 |
+
|
| 77 |
+
(post_win_continuation
|
| 78 |
+
(mode "round")
|
| 79 |
+
)
|
| 80 |
+
)
|
| 81 |
+
|
| 82 |
+
;; =========================
|
| 83 |
+
;; 3. Scoring:计分与番型
|
| 84 |
+
;; =========================
|
| 85 |
+
|
| 86 |
+
(scoring
|
| 87 |
+
(mode "hybrid")
|
| 88 |
+
(base_point 1)
|
| 89 |
+
)
|
| 90 |
+
|
| 91 |
+
;; ---- 番型表 ----
|
| 92 |
+
(fan_table
|
| 93 |
+
(stacking "multiply") ; 倍数叠乘
|
| 94 |
+
|
| 95 |
+
;; 起手胡
|
| 96 |
+
(yaku qishou_sixi (mult 1) (category "special") (desc "起手四喜"))
|
| 97 |
+
(yaku qishou_66shun (mult 1) (category "special") (desc "起手六六顺"))
|
| 98 |
+
(yaku qishou_queyise (mult 1) (category "special") (desc "起手缺一色"))
|
| 99 |
+
(yaku qishou_banbanhu (mult 1) (category "special") (desc "起手板板胡"))
|
| 100 |
+
|
| 101 |
+
;; 小胡
|
| 102 |
+
(yaku pinghu (mult 1) (category "basic") (desc "平胡"))
|
| 103 |
+
|
| 104 |
+
;; 大胡
|
| 105 |
+
(yaku pengpenghu (mult 6) (category "special") (desc "碰碰胡"))
|
| 106 |
+
(yaku jiangjianghu (mult 6) (category "special") (desc "将将胡"))
|
| 107 |
+
(yaku qingyise (mult 6) (category "special") (desc "清一色"))
|
| 108 |
+
(yaku qidui (mult 6) (category "special") (desc "七对"))
|
| 109 |
+
(yaku quanqiuren (mult 6) (category "special") (desc "全求人"))
|
| 110 |
+
(yaku haohuaqidui (mult 12) (category "special") (desc "豪华七对"))
|
| 111 |
+
(yaku shuanghaoqidui (mult 18) (category "special") (desc "双豪华七对"))
|
| 112 |
+
(yaku sanhaoqidui (mult 24) (category "special") (desc "三豪华七对"))
|
| 113 |
+
|
| 114 |
+
;; 事件
|
| 115 |
+
(yaku gangkai (mult 6) (category "event") (desc "杠开"))
|
| 116 |
+
(yaku qianggang (mult 6) (category "event") (desc "抢杠"))
|
| 117 |
+
(yaku gangpao (mult 6) (category "event") (desc "杠炮"))
|
| 118 |
+
(yaku haidilao (mult 6) (category "event") (desc "海底捞"))
|
| 119 |
+
(yaku tianhu (mult 6) (category "event") (desc "天胡"))
|
| 120 |
+
)
|
| 121 |
+
|
| 122 |
+
;; =========================
|
| 123 |
+
;; 4. 特殊机制
|
| 124 |
+
;; =========================
|
| 125 |
+
|
| 126 |
+
;; ---- 扎鸟 ----
|
| 127 |
+
(horse_rules
|
| 128 |
+
(enabled true)
|
| 129 |
+
(mode "bird")
|
| 130 |
+
(count 2)
|
| 131 |
+
(draw_from "wall_end")
|
| 132 |
+
(hit_mapping ("rank 1/5/9" (mult 1)))
|
| 133 |
+
(effect "multiplier")
|
| 134 |
+
)
|
| 135 |
+
|
| 136 |
+
(invariants
|
| 137 |
+
(tile_conservation
|
| 138 |
+
(formula "(+ (zone wall) ... ) = 108"))
|
| 139 |
+
)
|
| 140 |
+
)
|