wsy182 2024-12-01 16:54:52 +08:00
parent daec029789
commit df0aa388e2
3 changed files with 20 additions and 2 deletions

View File

@ -11,4 +11,20 @@ def setup_logging():
logger.remove() logger.remove()
# 配置日志,记录到 ../logs 目录下 # 配置日志,记录到 ../logs 目录下
logger.add(os.path.join(log_dir, "chengdu_mj_engine.log"), rotation="10 MB", level="DEBUG", format="{time} {level} {message}") logger.add(
os.path.join(log_dir, "chengdu_mj_engine.log"),
rotation="10 MB",
level="DEBUG",
format="{time} {level} {message}",
backtrace=True, # 启用完整堆栈跟踪
diagnose=True, # 启用诊断信息
)
# 控制台输出配置(可选)
logger.add(
lambda msg: print(msg),
level="DEBUG",
format="<green>{time}</green> | <level>{level}</level> | <cyan>{message}</cyan>",
backtrace=True,
diagnose=True,
)

View File

@ -219,7 +219,7 @@ def check_other_players(self, tile):
# 检查是否可以碰牌 # 检查是否可以碰牌
if self.state.hands[player].tile_count[tile] >= 2: if self.state.hands[player].tile_count[tile] >= 2:
logger.info(f"玩家 {player} 可以碰玩家 {current_player} 的牌: {tile}") logger.info(f"玩家 {player} 可以碰玩家 {current_player} 的牌: {tile}")
if handle_peng(player, tile): # 执行碰牌逻辑 if self.handle_peng(player, tile): # 执行碰牌逻辑
actions_taken = True actions_taken = True
break # 碰牌后不检查其他玩家 break # 碰牌后不检查其他玩家

View File

@ -3,6 +3,7 @@ from loguru import logger
from src.engine.actions import set_missing_suit, check_other_players from src.engine.actions import set_missing_suit, check_other_players
from src.engine.chengdu_mahjong_state import ChengduMahjongState from src.engine.chengdu_mahjong_state import ChengduMahjongState
from src.engine.actions import draw_tile, discard_tile, peng, gang, check_blood_battle,should_gang,random_choice from src.engine.actions import draw_tile, discard_tile, peng, gang, check_blood_battle,should_gang,random_choice
from configs.log_config import setup_logging
class ChengduMahjongEngine: class ChengduMahjongEngine:
@ -17,6 +18,7 @@ class ChengduMahjongEngine:
初始化游戏确定庄家发牌并设置缺门 初始化游戏确定庄家发牌并设置缺门
""" """
logger.info("游戏初始化...") logger.info("游戏初始化...")
setup_logging()
# 确定庄家(掷骰子) # 确定庄家(掷骰子)
self.state.current_player = random.randint(0, 3) self.state.current_player = random.randint(0, 3)
logger.info(f"庄家确定为玩家: {self.state.current_player}") logger.info(f"庄家确定为玩家: {self.state.current_player}")