常量定义
<p>NAI_ZI = 80 # 赖子</p>
<p>NULL_CARD = 0</p>
<p>DONG_FENG = 42
XI_FENG = 44
NAN_FENG = 46
BEI_FENG = 48
HONG_ZHONG = 51
FA = 53
BAI = 55
CHUN = 62
XIA = 64
QIU = 66
DONG = 68
MEI = 72
LAN = 74
ZHU = 76
JU = 78
FENG_PAI = (DONG_FENG, XI_FENG, NAN_FENG, BEI_FENG)
JIAN_PAI = (HONG_ZHONG, FA, BAI)
HUA_PAI = (CHUN, XIA, QIU, DONG, MEI, LAN, ZHU, JU)
ALL_PAPER_CARDS = (
11, 12, 13, 14, 15, 16, 17, 18, 19, # 万字: 1~9
21, 22, 23, 24, 25, 26, 27, 28, 29, # 线条: 1~9
31, 32, 33, 34, 35, 36, 37, 38, 39, # 筒子:1~9
DONG_FENG, XI_FENG, NAN_FENG, BEI_FENG, HONG_ZHONG, FA, BAI, # 中发白 # 东西南北
CHUN, XIA, QIU, DONG, MEI, LAN, ZHU, JU, NAI_ZI
)
ALL_PAPER_CARDS_WITHOUT_HUA = (
11, 12, 13, 14, 15, 16, 17, 18, 19, # 万字: 1~9
21, 22, 23, 24, 25, 26, 27, 28, 29, # 线条: 1~9
31, 32, 33, 34, 35, 36, 37, 38, 39, # 筒子:1~9
)
LIU_JU_COUNT = 15</p>
<p>'''牌型'''
ZHUA_PAO = 0 # 放炮
ZI_MO = 1 # 自摸
PING_HU = 2 # 平胡
PENG_PENG_HU = 4 #碰碰胡
QING_YI_SE = 5 #清一色
SEVER_PAIR = 7 #七对
SEVER_PAIR_HAO_HUA = 8 #豪华七对
SHI_SAN_YAO = 13 #十三幺
'''额外牌型'''
TIAN_HU = 21 #天胡
DI_HU = 22 #地胡
TIAN_TING = 23 #天听
TIAN_TING_DIAN_PAO = 24 #天听点炮 此项应该不要
GANG_SHANG_HUA = 26 #杠上花
HUA_SHANG_TIAN_HUA = 27 #花上添花
QIANG_GANG_HU = 28 #抢杠胡
ZHUANG_XIAN = 29 #庄闲
LIAN_ZHUANG = 30 #连庄
SHANG_GA = 31 #上嘎
GEN_PAI = 32 #跟牌
AN_GANG = 33 #暗杠
MING_GANG = 34 #明杠
ZHUAN_WAN_GANG = 35 #转弯杠
HUA_HU = 36 #花胡
LIN_GAO_ZHEN_HUA = 37 #临高真花
LIN_GAO_JIA_HUA = 38 #临高假花
'''公杠即补杠'''
'''番型'''
ZHI_CHI_BU_PENG = 1 #只吃不碰
MEN_QING = 2 #门清
YOU_YAN = 3 #有眼
JIAN_KE_PAI = 4 #箭刻牌
FENG_KE_PAI = 5 #风刻牌
FAN_HUA_DUI_WEI = 6 #翻花对位
HUN_YI_SE = 7 #混一色
'''包赔原因'''
BAO_PEI_REASON_FANG_GOU_JIAO = 1 # 包赔:防勾脚
BAO_PEI_REASON_SAN_DAO_FANG_PAO = 2 #包赔 吃碰三道放炮
BAO_PEI_REASON_SI_DAO_ZI_MO = 3 # 包赔 吃碰四道
HN_MJ_FAN_XING = {
ZHI_CHI_BU_PENG: "ZHI_CHI_BU_PENG",
MEN_QING: "MEN_QING",
YOU_YAN: "MEN_QING",
JIAN_KE_PAI: "JIAN_KE_PAI",
FENG_KE_PAI: "FENG_KE_PAI",
FAN_HUA_DUI_WEI: "FAN_HUA_DUI_WEI",
HUN_YI_SE: "HUN_YI_SE",
}
HN_MJ_PAI_XING_SCORES = {
ZHUA_PAO: 1,
ZI_MO: 1,
PING_HU: 1,
PENG_PENG_HU: 2,
QING_YI_SE: 2,
SEVER_PAIR: 2,
SEVER_PAIR_HAO_HUA: 3,
SHI_SAN_YAO: 13,
}</p>
<p>HN_MJ_EXERA_SCORES = {
ZHUA_PAO: 1,
ZI_MO: 1,
TIAN_HU: 2,
DI_HU: 2,
TIAN_TING: 1,
GANG_SHANG_HUA: 2,
HUA_SHANG_TIAN_HUA: 2,
QIANG_GANG_HU: 2,
ZHUANG_XIAN: 1,
GEN_PAI:1,
GONG_GANG: 1,
AN_GANG: 2,
MING_GANG: 1,
}</p>
<p>HN_MJ_PAI_XING_NAMES = {
ZHUA_PAO: "fangPao",
ZI_MO: "ziMo",
PING_HU: "pingHu",
PENG_PENG_HU: "pengPengHu",
SHI_SAN_YAO: "shisanyao",
HUA_SHANG_TIAN_HUA: "",
QIANG_GANG_HU: 2,
ZHUANG_XIAN: 1,
QING_YI_SE: "qingYiSe",
TIAN_HU: "tianHu",
DI_HU: "diHu",
SEVER_PAIR: "sevenPair",
SEVER_PAIR_HAO_HUA: "haoHuaSevenPair",
TIAN_TING: "tianTing",
GANG_SHANG_HUA: "gangShangHua",
}
ND_MJ_SPECIAL_NAMES = {
ZHUA_PAO: "fangPao",
ZI_MO: "ziMo",
PING_HU: "pingHu",
PENG_PENG_HU: "pengPengHu",
SHI_SAN_YAO: 13,
HUA_SHANG_TIAN_HUA: 2,
QIANG_GANG_HU: 2,
ZHUANG_XIAN: 1,
QING_YI_SE: "qingYiSe",
TIAN_HU: "tianHu",
DI_HU: "diHu",
SEVER_PAIR: "sevenPair",
SEVER_PAIR_HAO_HUA: "haoHuaSevenPair",
TIAN_TING: "tianTing",
GANG_SHANG_HUA: "gangShangHua",
}</p>
<h1>每张牌的总数</h1>
<p>CARD_COUNT = 4</p>
<p>BIRD_VALUE = (1, 5, 9)</p>
<p>SUIT_WAN = 1
SUIT_SUO = 2
SUIT_TONG = 3
SUIT_FENG = 4
SUIT_JIAN = 5
SUIT_HUA1 = 6
SUIT_HUA2 = 7</p>
<p>ACTION_TYPE_CHU = 1
ACTION_TYPE_CHI = 2
ACTION_TYPE_PENG = 3
ACTION_TYPE_GONG_GANG = 4
ACTION_TYPE_AN_GANG = 5
ACTION_TYPE_MING_GANG = 6
ACTION_TYPE_BU = 7
ACTION_TYPE_GUO = 8
ACTION_TYPE_HU = 9
ACTION_TYPE_ZI_MO = 10
ACTION_TYPE_ZHUA_NIAO = 11
ACTION_TYPE_QIANG_GANG_HU = 12
ACTION_TYPE_GONG_BU = 13
ACTION_TYPE_AN_BU = 14
ACTION_TYPE_MING_BU = 15
ACTION_TYPE_TING_TING = 16</p>
<p>ACTION_PRIORITY = {
ACTION_TYPE_HU: 99,
ACTION_TYPE_QIANG_GANG_HU: 98,
ACTION_TYPE_MING_GANG: 89,
ACTION_TYPE_AN_GANG: 88,
ACTION_TYPE_GONG_GANG: 88,
ACTION_TYPE_AN_BU: 87,
ACTION_TYPE_GONG_BU: 86,
ACTION_TYPE_MING_BU: 85,
ACTION_TYPE_PENG: 70,
ACTION_TYPE_CHI: 60,
ACTION_TYPE_GUO: 1,
}</p>
<p>GANG_SCORE = {
ACTION_TYPE_AN_GANG: 2,
ACTION_TYPE_MING_GANG: 1,
ACTION_TYPE_GONG_GANG: 1,
}</p>
<h1>刻子:三张一样的牌</h1>
<p>TYPE_KE_ZI = 1</p>
<h1>顺子:三张花色相同且牌值连续的牌</h1>
<p>TYPE_SHUN_ZI = 2</p>
<h1>四杠: 4张一样的牌</h1>
<p>TYPE_SI_GANG = 3</p>
<h1>对子:两张一样的牌</h1>
<p>TYPE_DUI_ZI = 4</p>
<h1>2连顺 吃牌几率稍大</h1>
<p>TYPE_SHUN_ZI_2 = 5</p>
<h1>间隔顺: 2张间隔的牌</h1>
<p>TYPE_JIAN_GE_SHUN = 6</p>
<h1>完全单牌</h1>
<p>TYPE_SIGLE = 7
hn_mj = 61</p>