1
1
This commit is contained in:
@@ -104,6 +104,9 @@ class ChengduMahjongEngine:
|
||||
def check_game_over(self):
|
||||
"""
|
||||
检查游戏是否结束。
|
||||
游戏结束条件:
|
||||
1. 牌堆已空。
|
||||
2. 赢的玩家数量 >= 3。
|
||||
"""
|
||||
# 检查是否已无牌可摸
|
||||
if self.state.remaining_tiles == 0:
|
||||
@@ -111,8 +114,14 @@ class ChengduMahjongEngine:
|
||||
logger.info("游戏结束:牌堆已空")
|
||||
return
|
||||
|
||||
# 检查是否满足血战结束条件
|
||||
check_blood_battle(self)
|
||||
# 检查是否满足血战结束条件:赢家数量 >= 3
|
||||
if len(self.state.winners) >= 3:
|
||||
self.game_over = True
|
||||
logger.info(f"游戏结束:赢家数量达到 {len(self.state.winners)} 人")
|
||||
return
|
||||
|
||||
# 如果没有触发结束条件,继续游戏
|
||||
logger.info(f"当前赢家数量: {len(self.state.winners)},游戏继续")
|
||||
|
||||
def run(self):
|
||||
"""
|
||||
|
||||
@@ -117,7 +117,7 @@ class ChengduMahjongState:
|
||||
# **第一步:检查花色限制**
|
||||
suits = {tile.suit for tile in hand.tiles}
|
||||
if len(suits) > 2:
|
||||
logger.info("花色超过两种,不能胡牌")
|
||||
# logger.info("花色超过两种,不能胡牌")
|
||||
return False # 花色超过两种,不能胡牌
|
||||
|
||||
# 检查是否打完缺门的花色
|
||||
|
||||
Reference in New Issue
Block a user