欢迎来到天天文库
浏览记录
ID:153829
大小:1.35 MB
页数:36页
时间:2017-06-28
《五子棋游戏设计毕业论文.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、五子棋游戏设计毕业论文目 录第1章引言5§1.1人工智能5§1.2人机博弈和五子棋5§1.3VisualC++6第2章需求分析7§2.1使用范围要求7§2.2功能要求7§2.3系统平台要求7第3章人机界面设计8第4章面向对象分析11§4.1对象设计11§4.2动态模型12§4.3功能模型12第5章面向对象设计14§5.1类设计14§5.2控制流程15第6章详细设计及编码17§6.1全局数据17§6.2游戏循环17§6.3界面设计及事件处理17§6.4人类玩家的Think操作19第7章计算机智能设计20§7.1棋局估值20§7.2极大极小值算法21§7.3Alpha-beta算法
2、24§7.4Alpha-beta算法的窗口效应28§7.5极小窗口搜索/PVS算法29§7.6预估排序和历史启发30§7.7有限范围限定33§7.8多核优化33第8章总结结论35§8.1各算法效率对比35§8.2成果与不足36参考文献37致 谢38第1章引言§1.1人工智能提到人工智能,可能最著名的便是1997年超级计算机“深蓝”战胜国际象棋冠军卡斯帕罗夫的事,可以说“深蓝”的获胜是人工智能影响力的一个里程碑。对于什么是人工智能,有很多定义,我认为就是能自动完成人类所能完成的一些思维活动。如果从这个意义上说的话,计算机学科所要解决的所有问题都与人工智能有关。它的发展历史和计算机
3、科学的发展历史是联系在一起的,但也不仅仅局限于计算机科学,也涉及到心理学、哲学、语言学、医学等很多门学科。它所包含的内容有:知识表示、自动推理和搜索方法、机器学习和知识获取、知识处理系统、自然语言理解、计算机视觉、智能机器人、自动程序设计等方面。§1.2人机博弈和五子棋人机博弈就是人和计算机下棋,其重点在于计算机如何实现对弈,它是人工智能研究的一个重要分枝,五子棋是一种对弈游戏,本设计的目的就是通过五子棋这种对弈游戏初步探索实现博弈算法,为将来的人工智能研究打下一个基础,其实现方法可以从以下几方面概述:一、棋盘状态用一种数学模型来表示当前棋局的状态,不同的对弈游戏有不同的表示方
4、法,本设计用五子棋这种游戏来实现,它的棋盘状态比较简单,可以用一个15*15的二维数组表示15*15的棋盘,某棋盘上位置的状态就用该数组中单元的数字表示,比如1表示黑子,0表示白子,-1表示空位。二、对弈规则每种对弈游戏都有不同的规则,规定了棋子的走法(如象棋)或者能下子的位置以及胜负的判定。五子棋的规则很简单,如果不考虑禁手,任意空位都可以放棋子,只要一方有五个棋子连成一线,则判胜。三、搜索技术要让计算机在下棋中有智能,搜索技术是至关重要的,简单的说就是让计算机试着某步走法,这一步走了之后,再往后走若干步,按照某种规则给这一步评分,最后,在所有走法中选择一个相对最佳的走法。四
5、、棋局估值就是对某一种棋盘局面的优劣作出评价,简单地就是说走某一步棋后,这一步棋走得好不好。它在博弈技术中也是很重要的,从某种意义上来说,搜索也是为了估值,或者说对估值作修正。§1.1VisualC++本次的开发工具为Microsoftvisualc++2005,它是微软公司推出的win32的开发工具,本次实现之所以选用VisualC++作为开发工具,除因个人使用习惯外,主要是它生成的代码高效,具有灵活方便的类管理,以及界面设计的可视化特点。另外,在VisualC++2005中引入了OpenMp的支持,OpenMp为快速开发具有多核优化的程序提供简单方便的支持,使得博弈程序更加
6、高效。第1章需求分析§1.1使用范围要求五子棋规则简单,男女老幼都可以玩,不但能让人们在对弈过程中得到娱乐,而且还能开发智力。§1.2功能要求1、支持人机对战。2、能设置计算机智能等级。3、能保存棋局状态,同时也能读入上一次保存的棋局状态,并且能够接着上一次继续下棋。4、能悔棋,即玩家在下错子后能回到上一步。5、背景音乐和下棋音效。§1.3系统平台要求编程语言:C++操作系统:windows开发工具:microsoftVisualC++5毕业设计论文——博弈算法的设计及其实现第1章人机界面设计图3.1五子棋程序界面如图3.1,在左边的为15×15的棋盘,右边的“黑子”和“白子”
7、下接列表框设定持黑子和白子的玩家类型,各有三项,分别是“人”,“计算机”,“当选择“人”后,就可以用鼠标在棋盘下放该类型的棋子,当为“计算机”,则由计算机自动产生走法并在棋盘上下该种类型的棋子,并且会弹出一个选择智力级别的对话框。8毕业设计论文——博弈算法的设计及其实现图3.2计算机智力等级设定对话框在玩的过程中,如果不想玩了,可以把当前棋局保存下来,按保存按钮,此时弹出保存棋局对话框图3.3保存棋局对话框要载入以往的棋局继续玩,点击载入按钮,此时显示载入棋局对话框,选择以往的棋局文件即可。
此文档下载收益归作者所有