#### **同化棋程序报告**
##### 一、主要功能:
1.用户输入坐标,下子
2.ai计算最优下法,下子
3.显示每一步棋盘
4.自动保存棋盘信息到文件中,可以以后读取存档
5.判断输赢,终止程序
##### 二、各个模块设计:
1. cin(fin)坐标,placePiece函数放置棋子
2. evaluate函数估值(子数差,若能赢则返回极大值);MinMax函数(极大极小算法),placePieceAI函数用于ai下子
3. 清屏,show函数打印棋盘
4. fin,fout对qupan.txt操作,
5. isOver函数数棋子数,判断输赢
##### 三、程序结构
![img/Aspose.Words.e853757a-ce13-438d-b84e-c39a4893da3d.001](img/Aspose.Words.e853757a-ce13-438d-b84e-c39a4893da3d.001.png)
主要数据:
Chess:棋盘格子
ChessBoard:棋盘
choice:保存选择
curState:当前状态
主要函数已在二中说明。。。
##### 四、AI设计
最大最小搜索、剪枝、迭代加深……
参考了:
[http://www.xqbase.com/computer/search_minimax.htm http://www.xqbase.com/computer/search_alphabeta.htm http://www.xqbase.com/computer/search_iterative.htm](http://www.xqbase.com/computer/search_minimax.htm%20http://www.xqbase.com/computer/search_alphabeta.htm%20http://www.xqbase.com/computer/search_iterative.htm)
##### 五、总结
这个项目真正做起来才知道有多复杂。一开始只想改一下官网上的样例程序,做个贪心法就解决,但是实际做下来,发现ai实在是智障……于是了解了一下博弈论的知识(主要是棋类方面的),重点理解了MinMax算法,然后发现自己无力把其套在样例上,只能整个重写函数、数据类型什么的,再经学长和网络资料指点,写成了自己的……然后加入文件操作,并努力尝试让控制台程序更美观点,做成了最终的版本。
在这个过程中,我锻炼了动手能力和自学能力,加深了c++语言的掌握度,虽然没太用心去深入,但做完也有小小的成就感。总之,受益匪浅。
没有合适的资源?快使用搜索试试~ 我知道了~
基于C++开发的同化棋游戏
共7个文件
cpp:2个
txt:1个
exe:1个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 198 浏览量
2023-07-31
10:47:48
上传
评论
收藏 494KB ZIP 举报
温馨提示
1.用户输入坐标,下子 2.ai计算最优下法,下子 3.显示每一步棋盘 4.自动保存棋盘信息到文件中,可以以后读取存档 5.判断输赢,终止程序
资源推荐
资源详情
资源评论
收起资源包目录
基于C++开发的同化棋游戏.zip (7个子文件)
cccscg
同化棋.cpp 10KB
LICENSE 1KB
img
Aspose.Words.e853757a-ce13-438d-b84e-c39a4893da3d.001.png 30KB
qipan.txt 100B
天梯不超时版.cpp 9KB
同化棋.exe 1.85MB
README.md 2KB
共 7 条
- 1
资源评论
神仙别闹
- 粉丝: 2705
- 资源: 7641
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功