Skip to content

hyangit/gomoku

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

五子棋

模块分析

  • 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


界面截图


TODO

  • minimax_policy_player: 采用Minimax+Alpha–beta剪枝算法和评分策略得到最优落子位置
  • MCTS_policy_player: 采用模特卡洛搜索算法和评分策略得到最优落子位置
  • MCTS_DQN_player: 采用模特卡洛搜索算法和DQN强化学习算法得到最优落子位置

Releases

No releases published

Packages

No packages published

Languages

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy