Update actions.py
parent
03fcd8203c
commit
6a6baeb460
|
|
@ -186,4 +186,37 @@ def set_missing_suit(player, game_state):
|
||||||
f"玩家 {player} 手牌花色分布: {suit_counts}。缺门设置为: {missing_suit}"
|
f"玩家 {player} 手牌花色分布: {suit_counts}。缺门设置为: {missing_suit}"
|
||||||
)
|
)
|
||||||
|
|
||||||
return missing_suit
|
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} 没有触发其他玩家的操作")
|
||||||
Loading…
Reference in New Issue