FutaHex2 源码下载地址:github.com/FutaAlice/FutaHex2html
Hex棋 也称六贯棋或海克斯棋,规则介绍参考 wiki(中文 / 英文)。linux
FutaHex2 是一个基于蒙特卡洛树搜索的海克斯棋博弈程序。做者本人是 全国大学生计算机博弈大赛 2016年海克斯棋项目冠军程序 FUTAHEX 做者。git
旧版程序 FUTAHEX 是在校期间的做品,已交由继续参加比赛的后辈管理,基本中止维护。况且自己就是赛前一个月东拼西凑的产物,维护约等于重写。github
2.0 版本仅沿用之前的思路进行重构,使用标准库替换了旧版绝大多数代码,移除了原开局库和走法筛选部分待后续整理后加入。windows
程序分为如下几个模块:多线程
核心代码使用了 C++11/14 新特性,不支持 Visual Studio 2013 及如下版本的编译器,不支持 g++ 4.x 及如下版本的编译器。函数
—— | 最低要求 | 建议配置 |
---|---|---|
操做系统 | Win7 | Win7 / Win10 |
内存 | 8GB | 16GB |
VS 版本 | VS2015 | VS2015 |
Qt 库 | Qt 5.x | Qt 5.8 |
注:程序编译连接期对计算机内存无要求,但运行期 MCTS 过程会展开大量节点,对于 11 * 11 或更大尺寸棋盘须要至少 3.5GB 以上的空闲内存。32位有内存限制,建议使用64位编译。visual-studio
工程内大量使用了 C++11/14 特性,仅支持 VS2015 及以上版本。截至做者开始写 futahex2 的界面部分时, Qt 官方还没有提供用于 VS2017 的插件,故建议安装 VS2015。测试
若是仅编译核心库 fhcore 不须要图形界面,也能够选择 VS2017。动画
若使用其余 Visual Studio 版本,则需自行修改代码和工程配置,不保证可以正常编译。
安装选项参考:
用于图形界面,讲道理 Qt5.x 都是能够的。
注意要安装 msvc_64 版本。mingw版本不能在 VS 工程中使用,32位 Qt不能连接64位库,运行时有 3GB 内存限制。
笔者用的 5.8,那就推荐 Qt5.8 算了。国内访问 Qt 官网比较慢,挂个度盘连接方便下载。
qt_msvc2015_5.8.0.exe
官网地址:download.qt.io/archive/qt/
百度网盘:pan.baidu.com/s/1w3j_mQtiisorqTPaSYNKxQ
安装选项参考:
用于在 VS 工程中使用 Qt库,在安装完成 VS 和 Qt 以后安装。
qt_vs_tools_msvc2015_2.1.1.vsix
官网地址:download.qt.io/archive/vsaddin/
百度网盘:pan.baidu.com/s/1WbTk2xrnoKesNMZgzarJrg
所有安装完成后打开 Visual Studio ,会发现菜单栏上多了一项“Qt VS Tools”。
从菜单栏 Qt VS Tools -> Qt Options,打开 Qt 配置,此时 Qt Versions 列表应该是空白的。
点击 Add 按钮添加安装完成的 Qt 版本,点击 path 选择 Qt(msvc2015_64) 所在路径并添加。
顺序完成上述步骤后,打开 VS 新建一个 QtGuiApplication ,一路默认选项。
不改任何文件直接编译运行,正常弹出以下图所示的空白 Qt 窗口说明开发环境配置成功。
github 地址:github.com/FutaAlice/FutaHex2
从 github 下载代码并拷贝至工做目录。
工做路径全英文无空格确保 Qt 插件可以正常工做。
使用 VS2015 打开 “FutaHex2/vsproject/FutaHex2_2015.sln”,设置 futahex2 为启动项,选择 Release 模式,编译运行便可。
用于 Linux 下编译的 cmakelist 还没有整理上传。
本节将在工程更新后同步更新。
预计要作,但截止目前还没有完成(可能永远不会填坑)的部分。
优先级从上之下递减。
TODO List 罗列出来发现仍是挺多的,毕业之后空闲时间愈来愈少,真是怀念上学时候天天翘课打游戏看动画的悠闲日子 (=w=)
看到这个项目的多半是参加计算机博弈大赛的各校队员吧。做为“过来人”我虽然清楚因为比赛性质各校闭门造车的传统,但真的看不惯总有一行代码不会写的人拿着往届大牛学长的祖传代码刷分的行为。
Hex棋,自2016年加入计算机博弈大赛项目,至今不过两届。相比其余传统项目,赶超强队所创建的技术壁垒彻底能够在几个月内实现。
此次重构 FutaHex2 并基于 GPLv2 发布,也是但愿对开源作一些微小的贡献。但愿喜欢这个项目的诸位学霸,可以一块儿开发维护。
总而言之,欢迎 fork,欢迎提交 PR。
建了个聊天吹水的 QQ 群,欢迎进群讨论机器博弈相关问题。
遵照 GPLv2 的任何用途无需征求程序原做者许可 :)