40 lines
1.1 KiB
Python
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()
|