### 可执行程序下载
点击以下链接下载相应版本的可执行程序:
* [v0.1](https://kimlongli.github.io/files/fivechess.zip) 初始版本
* [v1.0](https://kimlongli.github.io/files/fivechess1.0.zip) 使用C++重写界面
* [v1.1](https://kimlongli.github.io/files/fivechess1.1.zip) 加入保存和查看棋谱的功能
* [v1.2](https://kimlongli.github.io/files/fivechess1.2.zip) 加入AC算法和修复模式匹配的bug
* [v1.3](https://kimlongli.github.io/files/fivechess1.3.zip) 加入qq五子棋辅助彩蛋
### 原理
本程序所用到的算法以及优化技术有:
* 博弈树
* alpha-beta剪枝
* 加入启发式搜索
* 每层选取最有可能出现的10种可能
* 增量式的评分算法
* 置换表
* AC算法(用于模式匹配)
具体可参见[这篇技术博客](https://kimlongli.github.io/2016/12/14/%E5%A6%82%E4%BD%95%E8%AE%BE%E8%AE%A1%E4%B8%80%E4%B8%AA%E8%BF%98%E5%8F%AF%E4%BB%A5%E7%9A%84%E4%BA%94%E5%AD%90%E6%A3%8BAI/)。
### 对外接口
五子棋AI的实现在ChessEngine.h和ChessEngine.cpp里,其余为界面实现,若想把此五子棋AI整合到自己项目中,可把ChessEngine.h和ChessEngine.cpp拷贝出来单独使用(这两个文件依赖于ACSearcher.h、PossiblePositionManager.h以及相应的cpp文件)。接口详情如下:
* void beforeStart();
五子棋AI的一些初始化操作,可在程序开始运行时调用。
* int isSomeOneWin();
判断此时是否有谁(电脑或者人)赢了,电脑赢了返回1, 人赢了返回0, 否则返回-1。
* string takeBack();
悔棋,返回参数为一个15\*15长度的字符串,代表当前棋盘布局,'0'代表无棋子,'1'代表一种棋子,'2'代表另一种棋子。
* string reset(int role);
清除之前的记录,重新开局。role为0时为人先走,为1时为电脑先走。返回值为新的棋盘布局。
* void setLevel(int level);
重新设置搜索层数。
* Position getLastPosition();
取得刚才电脑下的那一步棋子的位置。
* string nextStep(int x, int y);
人类在位置为(x, y)的地方下棋,电脑进行计算,返回新的棋盘布局。
使用实例详见FiveChess.cpp
### 运行截图
* 新对局截图
![PicForReadMe/pic1.png](PicForReadMe/pic1.png)
* 对局结束截图
![PicForReadMe/pic2.png](PicForReadMe/pic2.png)
* 查看棋谱截图
![PicForReadMe/pic2.png](PicForReadMe/pic3.png)
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
<项目介绍> 基于C++实现的AI多智能体博弈五子棋推演理论与验证平台设计 - 不懂运行,下载完可以私聊问,可远程教学 该资源内项目源码是个人的毕设,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 --------
资源推荐
资源详情
资源评论
收起资源包目录
博弈能力不错的五子棋AI.zip (32个子文件)
FiveChess-master
.gitattributes 2KB
LICENSE.txt 1KB
FiveChess
stdafx.h 690B
FiveChess.cpp 39KB
pictures
board.jpg 64KB
black_chess.png 17KB
white_chess.png 21KB
PossiblePositionManager.cpp 2KB
PossiblePositionManager.h 813B
ACSearcher.h 879B
resource.h 3KB
ChessEngine.h 1KB
small.ico 45KB
ChessEngine.cpp 16KB
FiveChess.ico 45KB
ChessManual.cpp 2KB
FiveChess.vcxproj.filters 3KB
FiveChess.h 80B
ACSearcher.cpp 4KB
ChessManual.h 972B
FiveChess.rc 9KB
egg
FiveChessBot.egg 331KB
stdafx.cpp 320B
targetver.h 370B
FiveChess.vcxproj 9KB
icon1.ico 44KB
FiveChess.sln 1KB
.gitignore 4KB
PicForReadMe
pic2.png 1.09MB
pic3.png 1.14MB
pic1.png 995KB
README.MD 2KB
共 32 条
- 1
资源评论
- 胖胖的肥猪仔2024-06-29发现一个超赞的资源,赶紧学习起来,大家一起进步,支持!
程序员无锋
- 粉丝: 3696
- 资源: 2554
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- QT项目之中国象棋人工智能
- 基于小程序的生活小助手源代码(java+小程序+mysql).zip
- 20241220.pdf
- 基于小程序的游乐园智慧向导小程序源代码(java+小程序+mysql).zip
- 基于小程序的汉中茗茶微系统设计与实现源代码(java+小程序+mysql).zip
- 基于小程序的校园订餐小程序源代码(java+小程序+mysql+LW).zip
- 基于小程序的校园二手交易平台小程序源代码(java+小程序+mysql+LW).zip
- 基于小程序的智慧物业平台修改源代码(java+小程序+mysql).zip
- STM32通过ESP8266连接阿里云物联网平台读取DHT11温湿度和18B20温度上传,在阿里云物联网平台控制LED灯亮度
- 基于小程序的新冠疫苗预约小程序源代码(java+小程序+mysql+LW).zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功