mjAi/tests/test_chengdu_mahjong_engine.py

40 lines
1.1 KiB
Python

from src.engine.chengdu_mahjong_engine import ChengduMahjongEngine
def test_mahjong_engine():
"""
测试成都麻将引擎,包括初始化、发牌、轮次逻辑等。
"""
# 初始化麻将引擎
engine = ChengduMahjongEngine()
# 初始化游戏
engine.initialize_game()
# 发牌
engine.deal_tiles()
# 检查发牌后的状态
print(f"庄家: 玩家 {engine.state.current_player}")
for player in range(4):
hand = engine.state.hands[player]
print(f"玩家 {player} 的手牌: {hand}")
print(f"玩家 {player} 的缺门: {engine.state.missing_suits[player]}")
# 模拟游戏主循环
try:
engine.run()
except Exception as e:
print(f"运行时出错: {e}")
# 打印游戏结束后的状态
print("\n游戏结束!")
for player in range(4):
print(f"玩家 {player} 的分数: {engine.state.scores[player]}")
print(f"玩家 {player} 的明牌: {engine.state.melds[player]}")
print(f"赢家: {engine.state.winners}")
# 运行测试
if __name__ == "__main__":
test_mahjong_engine()