- start: 是游戏入口,可以选择待对战的游戏
- game: 是游戏,一个游戏包含一个棋谱,两个玩家,一个显示平台
- human_pk_policy_game: 人类玩家和策略玩家对战
- policy_pk_policy_game: 策略玩家和策略玩家对战
- chessboard: 是棋谱,可控制行列数,给定原始棋谱(棋局恢复)
- player: 是玩家,总共实现了4中玩家
- random_player: 随机下棋
- policy_player: 策略玩家,通过当前棋谱,计算每一位置的得分(进攻得分&防御得分),分数最高作为最终落子位置
- simulate_policy_player: 模拟策略下棋玩家,模拟策略玩家下棋,直到游戏结束,并且赢家是自己,得到落子位置
- human_player: 人类玩家,通过在控制台输入坐标,与其他玩家对弈
- tkinter_human_player: GUI玩家,通过在界面的棋谱上点击位置,与其他玩家对弈(依赖tkinter_display)
- display: 显示平台,显示棋谱和玩家落子的情况(同时还起着督促玩家落子的功能),基类只负责驱动玩家落子
- print_display: 打印机显示平台,将每一步的棋谱打印在控制台上
- tkinter_display: TkinterGUI显示平台,提供界面展示棋谱
共走步数: 86 策略玩家自我对弈一局耗时: 2.333743
- minimax_policy_player: 采用Minimax+Alpha–beta剪枝算法和评分策略得到最优落子位置
- MCTS_policy_player: 采用模特卡洛搜索算法和评分策略得到最优落子位置
- MCTS_DQN_player: 采用模特卡洛搜索算法和DQN强化学习算法得到最优落子位置