parent
2bc34bc860
commit
ff15ecb1a1
|
|
@ -1,4 +1,3 @@
|
|||
# configs/log_config.py
|
||||
from loguru import logger
|
||||
import os
|
||||
|
||||
|
|
@ -10,21 +9,21 @@ def setup_logging():
|
|||
# 清除所有现有日志处理器,防止重复配置
|
||||
logger.remove()
|
||||
|
||||
# 配置日志,记录到 ../logs 目录下
|
||||
# 配置日志文件
|
||||
logger.add(
|
||||
os.path.join(log_dir, "chengdu_mj_engine.log"),
|
||||
rotation="10 MB",
|
||||
level="DEBUG",
|
||||
format="{time} {level} {message}",
|
||||
backtrace=True, # 启用完整堆栈跟踪
|
||||
diagnose=True, # 启用诊断信息
|
||||
format="{time:YYYY-MM-DD HH:mm:ss.SSS} {level} {message}",
|
||||
backtrace=True, # 启用完整堆栈信息
|
||||
diagnose=True # 启用变量诊断信息
|
||||
)
|
||||
|
||||
# 控制台输出配置(可选)
|
||||
# 配置控制台日志(可选)
|
||||
logger.add(
|
||||
lambda msg: print(msg),
|
||||
level="DEBUG",
|
||||
format="<green>{time}</green> | <level>{level}</level> | <cyan>{message}</cyan>",
|
||||
format="{time:YYYY-MM-DD HH:mm:ss.SSS} {level} {message}",
|
||||
backtrace=True,
|
||||
diagnose=True,
|
||||
)
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
import random as random_module
|
||||
|
||||
from loguru import logger
|
||||
|
||||
from src.engine.mahjong_tile import MahjongTile
|
||||
from src.engine.calculate_fan import calculate_fan
|
||||
|
||||
|
||||
def draw_tile(engine):
|
||||
|
|
@ -212,14 +212,14 @@ def check_other_players(self, tile):
|
|||
# 检查是否可以杠牌
|
||||
if self.state.hands[player].tile_count[tile] >= 3:
|
||||
logger.info(f"玩家 {player} 可以杠玩家 {current_player} 的牌: {tile}")
|
||||
if handle_gang(player, tile, mode="ming"): # 执行明杠逻辑
|
||||
if handle_gang(self,player, tile, mode="ming"): # 执行明杠逻辑
|
||||
actions_taken = True
|
||||
break # 杠牌后不检查其他玩家
|
||||
|
||||
# 检查是否可以碰牌
|
||||
if self.state.hands[player].tile_count[tile] >= 2:
|
||||
logger.info(f"玩家 {player} 可以碰玩家 {current_player} 的牌: {tile}")
|
||||
if self.handle_peng(player, tile): # 执行碰牌逻辑
|
||||
if handle_peng(self,player, tile): # 执行碰牌逻辑
|
||||
actions_taken = True
|
||||
break # 碰牌后不检查其他玩家
|
||||
|
||||
|
|
|
|||
|
|
@ -1,9 +1,11 @@
|
|||
import random
|
||||
|
||||
from loguru import logger
|
||||
|
||||
from configs.log_config import setup_logging
|
||||
from src.engine.actions import draw_tile, check_blood_battle, should_gang, random_choice
|
||||
from src.engine.actions import set_missing_suit, check_other_players
|
||||
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 configs.log_config import setup_logging
|
||||
|
||||
|
||||
class ChengduMahjongEngine:
|
||||
|
|
@ -39,7 +41,9 @@ class ChengduMahjongEngine:
|
|||
# 自动设置缺门
|
||||
set_missing_suit(player, self.state)
|
||||
|
||||
logger.info("发牌结束并完成缺门设置!")
|
||||
# 记录发牌后的牌堆数量
|
||||
self.state.remaining_tiles = len(self.state.deck)
|
||||
logger.info(f"发牌结束并完成缺门设置!当前牌堆剩余数量: {self.state.remaining_tiles}")
|
||||
|
||||
def play_turn(self):
|
||||
current_player = self.state.current_player
|
||||
|
|
|
|||
Loading…
Reference in New Issue