基于IOS平台的游戏“五子棋”毕业论文(33页).doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《基于IOS平台的游戏“五子棋”毕业论文(33页).doc》由会员分享,可在线阅读,更多相关《基于IOS平台的游戏“五子棋”毕业论文(33页).doc(33页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-基于IOS平台的游戏“五子棋”毕业论文-第 27 页 毕业设计说明书题 目:基于IOS平台的游戏“五子棋” 程序设计 摘 要本论文主要阐述以iOS开发平台为基础,通过使用Xcode开发工具以及objective-c和c+语言开发的一款运行在iPad上的智力游戏“五子棋”。五子棋是一种两人对弈的纯策略型棋类游戏,棋具与围棋通用,是起源于中国古代的传统黑白棋种之一。近年来,随着智能手机的流行,出现了许多在移动操作系统上的手机应用。所以,开发一款可以在iOS系统上运行的五子棋游戏是非常有意义的。在开发的过程中,我首先学习了objective-c语言的相关语法,objective-c语言是在C语言上
2、进行一些面向对象的扩充,学习它大概用了一周的时间。接下来,开始学习iOS应用的构建原理(学习视图控制器与视图的使用方法,程序委托的使用等)以及一些常用控件的使用,并尝试在Xcode工具上搭建一些简单的界面。这时候的界面是用xib文件来搭建的,通过直接拖拉控件来产生界面。之后,开始尝试用代码写控件来代替xib文件。在做好这些基础的准备后,我开始动手搭建五子棋的界面,五子棋界面除了一些常用的控件(按钮以及标签)外,重要的是画出棋盘以及棋子,棋盘和棋子不能用普通控件来显示,需要使用绘图的方法把它画出来。在这些工作完成了之后,界面就可以显示出来了。接下来,就要在棋盘类上面进行一些处理工作,比如点击各个
3、按钮触发的事件,在游戏过程中玩家点击棋盘触发的事件,判断游戏输赢,悔棋和认输功能的实现等等。之后,就开始设计与实现五子棋算法了。经过多年的发展,五子棋的算法已经较为完善,我做的工作是在理解这些算法原理的基础上,用自己的话来实现,并加入一些新的东西。五子棋算法一般包括估值算法以及搜索算法,估值算法的实现虽然代码量较大但是理解起来不是特别难,而我在学习搜索算法的过程中却在一开始的时候无法理解他的alpha-beta剪枝以及负极大值算法的意思。而在一开始写完算法部分代码之后,也还是存在许多问题,无法搜索出正确的落子点,在经过一些排错与完善之后,算法的实现可以与前面的棋盘进行结合了。这样,整个设计就差
4、不多完成了,接下来就需要进行测试并进行一些小的修改。在本论文中,主要阐述了开发过程中的一些细节,遇到的问题,解决的方法以及自己的一些感悟。关键词:objective-c;人工智能;算法 AbstractThis paper mainly expounded a mental game gobang .It is on the basis of iOS development platform, using the Xcode development tools and objective - c and c + + language to develop,and runed in the iP
5、ad. Gobang is a game of two pure strategy type chess game. Chess can be used in the game of go.Gobang is one of the traditional reversi which is originated from the ancient Chinese . In recent years, with the popularity of smart phones, Many mobile applications on mobile operating system appeared.So
6、, developing a Gobang game can be run on iOS is meaningful.In the process of development, the first thing is learning the syntax of objective-c language,the objective-c language is in the basis of c language and add some Object oriented expansion , it took me about a weeks time to study.Next, I star
7、t to learn the building principle of iOS app (learning the usage of view controller and view , the use of application of delegate and so on ) and the use of some common controls, and try to make some simple interface on Xcode tool structures.At this time the xib file interface is used to build, thro
8、ugh direct drag controls to generate the interface.Next, I began to try to replace the xib file by writting codes.After doing this things, I start to build gobang interface, in addition to some commonly used controls (buttons and labels), it is important to draw the chessboard and chess ,the board a
9、nd chess can not use normal controls to display, I need to draw them.After the work finished, interface can be displayed.Next, I should do some work on board, such as the events by click each button , the events by click board, the function of judes success ,giving up and regret and so on.Then,I beg
10、an to design and realize the gobang algorithm. Gobang algorithm has been more mature, my work is understanding the algorithm and relize it, and I will add some new things.Gobang algorithm generally includes valuation algorithm and search algorithm, the code of valuation algorithm is large but I do n
11、ot hard to undstand it .Instead ,I cant understand the alpha beta pruning and negative maximum value algorithm. And after finished the algorithm , it still exist many problems, it is unable to search the right move place, after some troubleshooting and improvement, the realization of the algorithm c
12、an be combined with the front board.So, the whole design is almost finished, you need to test and make a few small changes.This paper mainly expounds some details in the development process, implementation methods, difficulties, and some of my own feeling.Key words:objective-c;Artificial intellegenc
13、e;algorithm目 录引言11 手机五子棋游戏介绍31.1 五子棋游戏规则介绍31.2 五子棋游戏术语介绍31.3 手机五子棋特色32 开发环境及工具介绍42.1 开发环境42.2 运行环境42.3 工具介绍42.3.1 iOS介绍42.3.2 objective-c介绍53 需求分析与总体设计53.1 需求分析53.2 系统设计思想63.3 系统总体设计63.4 系统模块及功能63.4.1系统主要模块63.4.2系统主要流程84 五子棋AI算法分析与实现94.1 算法总体概况94.2 估值算法分析与实现94.3 搜索算法的分析与实现144.4 算法设计的不足以及改进方法205 APP应
14、用详细设计215.1 APP设计介绍215.1.1 main函数介绍215.1.2 应用程序委托介绍215.1.3 视图控制器介绍215.1.4 视图类介绍225.1.5 MVC模型介绍225.1.6 主要框架介绍:225.2 详细设计概述235.3 视图控制器类设计235.3.1积分榜的设计235.3.2委托类的设计与使用235.3.3按钮的设计245.4 棋盘类的设计245.4.1棋盘类变量设计245.4.2棋盘的绘制255.4.3玩家和机器人下子255.4.4棋子类的实现265.4.5判断胜负功能265.4.6游戏新局功能的实现265.4.7认输功能的实现275.4.8悔棋功能的实现27
15、5.4.9人人对战的实现276 开发过程中遇到的问题286.1 五子棋AI算法设计问题286.2 棋盘类设计遇到的问题287 测试298 总结34谢 辞37参考文献38引言随着科技的发展,智能手机的出现改变了我们一直以来对手机只是用于打电话和发短信的观点。在路上,车上,我们总能看见有人拿着手机来玩游戏,看电影,这一切都在改变我们的日常生活。也正是由于这些变化,移动互联网已经逐渐成为了互联网这个行业的重要组成部分。我们也能看到,传统的PC行业的增长已经开始放慢,国际上一些很大的传统PC厂家例如惠普,戴尔在PC行业的利润已经越来越少,它们都在积极的寻求转型。而反观智能机的领域,苹果,三星,HTC等
16、企业都通过智能手机的销售取得了非常好的业绩。特别是苹果和三星,占据了整个智能手机领域的很大部分利润。所谓智能手机,就是与传统的功能手机只可以用来打电话与发短信不同。它类似于电脑,有一个独立的操作系统,用户可以自行安装和卸载各种软件,这样手机的功能就得到了充分的扩充。在PC上的软件现在不断有了移动操作系统上的版本,例如QQ等聊天类软件,微博等社交类软件,甚至在手机上也出现了很多3D游戏,这些都有赖于移动操作系统的产生以及相关硬件的发展。在智能手机的行业中,诺基亚和黑莓曾经占据了非常重要的地位。塞班系统曾经非常成功,但是后来由于开源的Android以及iOS系统的出现,加上触控技术的流行,塞班系统
17、不断的失去了它的优势。同样,近年来也兴起了平板这种新的数码产品,这是一种崭新的产物。iPad是苹果公司推出的一款平板电脑,受到了市场的强烈反响。所以,我觉得在iPad上开发一款移动应用是一件非常有意义的事情。五子棋是一种两人对弈的策略型游戏,起源于中国古代。五子棋的规则比较简单,上手比较容易,而且趣味横生,引人入胜。传统五子棋的棋具是与围棋通用的,一般是15*15的棋盘,棋子分黑白两种颜色,对弈的双方分别执一种颜色的棋子,棋子放置在棋盘线上的交叉位置,双方轮流下子,只要同一颜色的棋子能够有五个棋子在同一条线上,那么执这种颜色棋子的一方就赢得了这盘棋。随着科技的发展,现在人们的物质生活越来越丰富
18、,但是人们的生活压力也越来越大,所以在工作闲暇之余,来一盘五子棋,也不失为一种调节情绪,放松思考的机会。五子棋的规则简单,却往往可以开发人的思维,是一种非常有意义的游戏。五子棋现在已经发展为一种非常重要的棋盘游戏。近年来,游戏产业得到了巨大的发展。而且随着手机的发展,游戏产业已经扩展到了手机上,这样大家就有了更多休闲娱乐的机会。棋类游戏具有益智,开发人大脑思维的功能也受到了大家的欢迎。手机上的棋类游戏往往分为人机对战和人人对战两种。特别是人机对战中的机器博弈,是PC和手机上的棋类游戏的一大特色。机器博弈是人工智能研究领域中一块非常重要的地方。本文设计的是一款人机和人人对战的五子棋游戏软件,在人
19、机对战模块中,提供了一定智力的机器人来和玩家进行博弈。机器人的功能通过估值,alphabeta剪枝搜索,负极大值等算法来实现。人人对战主要是提供一个界面美观的棋盘来给两个玩家切磋棋艺。另外,本软件还提供了下面的一些功能:1,重新开始功能,游戏模式选择功能,人机对战选择游戏难度功能,下棋先后手选择功能。2,认输功能。3,悔棋功能。3,积分功能(胜负记录)。4,判断胜负功能。5,游戏状态提醒功能。1 手机五子棋游戏介绍1.1 五子棋游戏规则介绍五子棋的标准棋盘大小是15*15,由双方各执一种颜色的棋子,分别在棋盘横竖线交叉的位置摆上棋子。最后有一方的棋子有五子可以连成同一根线就算执该颜色棋子的一方
20、胜利。由于在五子棋游戏过程中,先下子的一方非常占有很大的优势,所以五子棋游戏有两种下棋规则,禁手和无禁手。禁手规则是指先下子的一方需要一定的约束,通常有长连禁手,四四禁手,三三禁手。这些都是对先下子一方的约束,来平衡先下子本身带来的不公平。无禁手规则是指双方都不需要约束下子的位置,国际比赛往往都有禁手规则。1.2 五子棋游戏术语介绍连珠:国际上五子棋的正式名称。阳线:棋盘上可见的横线和竖线的总称。阴线:棋盘的两条对角线及与它们平行的交叉点间不可见斜线的总称。连:一条阳线或阴线上紧紧相连的同色棋子。长连:一条阳线或阴线上紧紧相连的同色六枚或六枚以上棋子。五连:一条阳线或阴线上紧紧相连的同色五枚棋
21、子。四:指活四和冲四。 活四:己方再加上一子,有两个点可以成五的单四。冲四:己方再加上一子,只有一个点可以成五的四。包括连冲四和跳冲四。三:指活三和眠三。活三:己方再加上一子,可以形成活四的三。眠三:己方再加上一子,可以形成冲四但不能形成活四的三。二:指活二和眠二。活二:己方再加上一子,可以形成活三的二。眠二:己方再加上一子,可以形成眠三但不能形成活三的二。死四、死三、死二由于在主方向已不可能成五,因此已不是四、三、二。1.3 手机五子棋特色便携性:在没有计算机和手机出现之前,要进行一场五子棋游戏都是需要使用真正的棋盘和棋子进行的。而随着计算机和网络的不断发展,五子棋已经完全可以脱离棋盘的限制
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 IOS 平台 游戏 五子棋 毕业论文 33
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内