Update actions.py

dev
wangsiyuan 2024-12-01 05:06:29 +08:00
parent 03fcd8203c
commit 6a6baeb460
1 changed files with 34 additions and 1 deletions

View File

@ -187,3 +187,36 @@ def set_missing_suit(player, game_state):
)
return missing_suit
def check_other_players(self, tile):
"""
检查其他玩家是否可以对打出的牌进行操作如碰胡牌
"""
current_player = self.state.current_player
next_player = (current_player + 1) % 4
for player in range(4):
if player == current_player:
continue
# 检查是否可以碰
if self.state.hands[player].tile_count[tile] >= 2:
logger.info(f"玩家 {player} 可以碰玩家 {current_player} 的牌: {tile}")
# 根据规则决定是否碰
# 这里可以扩展为调用 AI 或玩家输入
# self.peng(tile)
# 检查是否可以杠
if self.state.hands[player].tile_count[tile] >= 3:
logger.info(f"玩家 {player} 可以杠玩家 {current_player} 的牌: {tile}")
# 根据规则决定是否杠
# self.gang(tile, mode="ming")
# 检查是否可以胡牌
if self.can_win(self.state.hands[player], self.state.melds[player], self.state.missing_suits[player]):
logger.info(f"玩家 {player} 可以胡玩家 {current_player} 的牌: {tile}")
# 根据规则决定是否胡牌
# self.handle_win(player)
logger.info(f"玩家 {current_player} 打出的牌 {tile} 没有触发其他玩家的操作")