牌型组成
特殊规则
胡牌方式
递归拆解法(标准麻将算法)
def is_win(hand):
if len(hand) == 2 and hand[0] == hand[1]: # 将牌检测
return True
for i in range(len(hand)-2):
if hand[i] == hand[i+1] == hand[i+2]: # 刻子检测
if is_win(hand[:i] + hand[i+3:]):
return True
if hand[i]+1 in hand and hand[i]+2 in hand: # 顺子检测
remaining = hand.copy()
remaining.remove(hand[i])
remaining.remove(hand[i]+1)
remaining.remove(hand[i]+2)
if is_win(remaining):
return True
return False
贵阳特色规则实现
鸡牌 = (翻牌 + 1) % 10(万/条/筒数字循环)如需提升牌技,可研究:
请始终遵守「娱乐为主,输赢为辅」的健康游戏原则。
有话要说...