




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于Qt的黑白棋游戏,1,论文结构,1.绪论2.工具及算法介绍3.系统分析与设计4.详细设计5.系统测试,2,首先,我想谈谈这个毕业论文设计的目的及意义。通过黑白棋的开发,锻炼我的逻辑思维能力,熟悉C+语言的使用,使我更加熟练的进行软件开发。由于黑白棋规则简单,搜索规模较小等特点,特别适合于研究和测试算法。可以在黑白棋的编程上试验各种各样的搜索算法。其次,我想谈谈这篇论文的结构和主要内容。,第一章绪论,3,黑白棋游戏的规则、黑白棋游戏的发展为什么以奥塞罗棋来命名黑白棋呢?上世纪70年代日本人Goro Hasegawa借用莎士比亚名剧“奥塞罗”为黑白棋重新命名。在莎士比亚笔下的主角奥塞罗,是一位黑肤色的摩那人将军,他的妻子是一位白人贵族的女儿苔丝狄蒙娜(Desdemon),因为受到小人伊阿古(Iago)的挑拨离间,怀疑自己的妻子不忠而亲手杀死了自己的妻子。真相大白后,由于内心充满后悔和愧疚而自杀身亡。就如同奥塞罗据中男女主角之间的爱恨纠葛一样,黑白棋在游戏的过程中黑子与白子必须不断翻动对手棋子,因此黑白棋就以Othello来命名。,机器博弈的基本思想,机器博弈的核心思想就是对博弈树节点的估值过程和对博弈树搜索过程的结合。博弈程序的任务就是对博弈树进行搜索找出当前最优的一步行棋。对博弈树进行极大极小搜索,可以达到这一目的。因为博弈双方所要达到的目相反,一方要寻找的利益恰是另一方失去的利益,这便形成了极大极小过程。当然,程序不能也没有必要做到搜索整棵博弈树的所有节点,对于一些已经确定为不佳的走步可以将以它为根节点的子树剪掉。在这个过程中,最为重要的是搜索算法,高效的搜索算法可以保证用尽量少的时间和空间损耗来达到寻找高价值的走步。但是真的想要博弈程序棋力提高,还必须有一个好的局面评价机制,即估值算法作后盾。就是说,用这个估值算法评价的局面价值必须是客观的、正确的,可以确凿的评价局面的优劣以及优劣的程度。,4,第二章 工具及算法介绍,2.1Qt简介2.2信号与槽2.3Qt和MFC的比较2.4核心算法介绍,5,核心算法(人机对战):此算法由事件mousepressEvent(QMouseEvent *e)函数来响应鼠标事件。当点击鼠标后进入该事件,首先获取鼠标点击出坐标x=e-x,()y=e-y(),计算x,y坐标对应的数组位置,即QPoint point。当获取到棋盘坐标后,将其传入另一函数do_pressPoint(QPoint point)中进行进一步处理。参数color代表当前方棋子的颜色,在此分析函数将完成棋盘点击处八个方向的棋子是否可落子判断,八个方向则由i、j加减一来决定。如果坐标的下一格为空或着是与color值相同,则进入下一个方向判断。最后后用for循环将刚才color间夹得子变成color。,第三章 系统分析与设计,6,这部分对用户和黑白棋的各项功能,以及它们之间的关系进行分析、建模。对黑白棋游戏按功能进行模块划分、建立模块的层次结构及调用关系、确定模块间的接口及人际界面等。数据结构设计,包括数据特征的描述、确定数据的结构特性等。,程序流程图,类图,7,数据结构设计,三维数组,0 1 2 3 4 5 6 7 0 x x x x x x x x 0.71 x x x x x x x x 8.152 x x x x x x x x 16.233 x x x x x x x x 24.314 x x x x x x x x 32.395 x x x x x x x x 40.476 x x x x x x x x 48.557 x x x x x x x x 56.63,8,三维数组第一个元素代表64个位置的落子状态,第二元素代表棋盘横坐标,第三元素代表棋盘竖坐标。从上面三位数组数据结构和枚举类型中,我们发现数据冗余量较大,我们只用存储黑、白、空三种情况所以存在大量数据冗余,所以在此我们可以尝试一种新的存贮方法按位存储棋子信息的数据结构。具体的思路就是,使用两个64位的无符号整形数,一个保存黑棋的情况,另一个保存白棋的情况。64位刚好保存8x8的棋盘格子。在本轮文将给出思路而不进行实现。,第四章 详细设计,棋盘绘制函数void QPainter:drawPixmap ( int x, int y, int width, int height, const QPixmap & pixmap )void QPen:setWidth ( int width )void QPainter:drawLine ( int x1, int y1, int x2, int y2 )void QPainter:drawPixmap ( int x, int y, int width, int height, const QPixmap & pixmap ),9,第五章 系统测试,10,这部分主要是对游戏程序进行白盒测试与黑盒测试。测试程序功能的实现情况,通过对调试过程中出现的bug进行修复,从而正确的实现游戏的相关功能。最后是对黑白棋游戏设计实现过程的总结与归纳。同时对人工智能发展的展望。,总结,11,本游戏能完美运行于Linux系统,并实现人人对战,人机对战、悔棋、跳过等游戏功能。虽然完成了黑白棋基本功能的设计,但是作为一个毕业设计的作品,它还有很多不完善的地方,比如估值函数算法的实现等。总之,它还有很多改进的空间。例如增加网络对战的功能、采用更高级的搜索算法、采用更优化的数据结构等等。最后,我想谈谈这篇论文和系统存在的不足。这篇论文的写作以及修改的过程,也是我越来越认识到自己知识与经验缺乏的过程。虽然,我尽可能地收集材料,竭尽所能运用自己所学的知识进行论文写作,但论文还是存在许多不足之处,有待改进。请各位评委老师多批评指正,让我在今后的学习中学到更多。谢
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 平台经济与农产品流通模式试题及答案
- 舞蹈心理测试题及答案
- 施工现场安全目标管理试题及答案
- 婴儿智力考试题及答案
- 建筑安全竞赛试题及答案
- 物理学的影响力2025年试题及答案
- 针对医疗领域的2025年大数据隐私保护技术合规应用的技术创新与合规挑战报告
- 医院信息化建设中的电子病历系统:2025年智能提醒与优化方案
- 电动汽车充电桩市场化运营试题及答案
- 2025教师上岗考试试题及答案
- 高压设施维修合同范例
- AI新时代算力需求高增长-算力网络建设有望奔向太空
- 2024届考研199管理类综合能力真题及解析完整版
- 肠梗阻合并糖尿病护理查房
- DB32T-无锡水蜜桃标准
- 古诗词诵读《登岳阳楼》公开课一等奖创新教学设计统编版高中语文必修下册
- 2024版工厂并购协议书范本
- 中职班主任培训讲座
- 2024年河北省中考化学真题(含解析)
- 2024至2030年中国3C电子产品租赁行业市场运行现状及投资战略研究报告
- 2024年广东省高考化学试卷(真题+答案)
评论
0/150
提交评论