基于ISO平台的五子棋游戏毕业设计论文文档格式.docx
- 文档编号:8026910
- 上传时间:2023-05-09
- 格式:DOCX
- 页数:51
- 大小:960.88KB
基于ISO平台的五子棋游戏毕业设计论文文档格式.docx
《基于ISO平台的五子棋游戏毕业设计论文文档格式.docx》由会员分享,可在线阅读,更多相关《基于ISO平台的五子棋游戏毕业设计论文文档格式.docx(51页珍藏版)》请在冰点文库上搜索。
学校可以采用影印、缩印、数字化或其它复制手段保存论文;
在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名:
日 期:
学位论文原创性声明
本人郑重声明:
所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律后果由本人承担。
日期:
年月日
学位论文版权使用授权书
本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
涉密论文按学校规定处理。
日期:
导师签名:
日期:
指导教师评阅书
指导教师评价:
一、撰写(设计)过程
1、学生在论文(设计)过程中的治学态度、工作精神
□优□良□中□及格□不及格
2、学生掌握专业知识、技能的扎实程度
3、学生综合运用所学知识和专业技能分析和解决问题的能力
4、研究方法的科学性;
技术线路的可行性;
设计方案的合理性
5、完成毕业论文(设计)期间的出勤情况
二、论文(设计)质量
1、论文(设计)的整体结构是否符合撰写规范?
2、是否完成指定的论文(设计)任务(包括装订及附件)?
三、论文(设计)水平
1、论文(设计)的理论意义或对解决实际问题的指导意义
2、论文的观念是否有新意?
设计是否有创意?
3、论文(设计说明书)所体现的整体水平
建议成绩:
(在所选等级前的□内画“√”)
指导教师:
(签名)单位:
(盖章)
年月日
评阅教师评阅书
评阅教师评价:
一、论文(设计)质量
二、论文(设计)水平
评阅教师:
教研室(或答辩小组)及教学系意见
教研室(或答辩小组)评价:
一、答辩过程
1、毕业论文(设计)的基本要点和见解的叙述情况
2、对答辩问题的反应、理解、表达情况
3、学生答辩过程中的精神状态
评定成绩:
教研室主任(或答辩小组组长):
(签名)
教学系意见:
系主任:
不要删除行尾的分节符,此行不会被打印
2.4.1系统主要功能模块
2.4.2系统主要流程
2.5.1欢迎界面
2.5.2游戏主界面
3.1.1开发环境
3.1.2运行环境
3.1.3IOS简介
3.1.4Objective-C简介
3.6.1知识准备
3.6.2算法的主要设计思路
千万不要删除行尾的分节符,此行不会被打印。
在目录上点右键“更新域”,然后“更新整个目录”。
打印前,不要忘记把上面“Abstract”这一行后加一空行
第1章绪论
1.1课题背景
计算机运算速度一直遵循着摩尔定律在飞速的发展,随着这些技术的快速发展,使得大规模的运算得以在很短的时间内实现。
正是基于这些技术,近年来各式各样的棋类游戏软件也纷纷出现在了电脑荧屏上,使得那些喜爱下棋,又常常苦于没有对手的棋迷们能随时过足棋瘾。
所以如果能设计一款兼有人工智能和网络联机的五子棋软件则对五子棋棋迷们来说无疑是个“福音”。
在人机智能方面其中战胜过国际象棋世界冠军-卡斯帕罗夫的“深蓝”便是最具说服力的代表;
其它像围棋的“手淡”、象棋的“将族”等也以其优秀的人工智能深受棋迷喜爱;
本系统将重点放在人工智能方面,采用不同的策略将人工中的智能分为不同的等级。
选择五子棋游戏作为本设计的课题,是因为该游戏的规则简单,所涉及的方向比较少。
这样才能将问题的重点放在人工智能解决上,而非规则的解决,有更多的精力放在高效算法和通信过程的优化。
希望能通过本次系统的设计,整合所学的知识,实现从理论到实践上的升华。
1.2课题来源、目的和意义
苹果的IOS平台已经占据了全球智能手机系统市场份额的30%,在美国的市场占有率为43%。
为IOS编程是我们大学生未来充满机遇的发展方向之一,所以了解IOS开发流程,学会使用XCODE编程工具,掌握IOS开发语言Objective-C,学习IOS应用功能实现以及硬件功能的调用,是学生选用IOS平台开发五子棋的重要原因。
五子棋是最受欢迎的休闲游戏之一,其不仅能增强思维能力,提高智力,而且富含哲理,有助于修身养性。
五子棋既有现代休闲的明显特征“短、平、快”,又有古典哲学的高深学问“阴阳易理”;
它既有简单易学的特性,为人民群众所喜闻乐见,又有高深的技巧和高水平的国际性比赛;
它的文化源远流长,具有东方的神秘和西方的直观;
既有“场”的概念,亦有“点”的连接。
它是中西文化的交流电,是古今哲理的结晶。
通过此次在IOS平台开发五子棋,除了完成人机对战和在无线局域网间对弈外,尽可能多的实现IOS平台提供的功能,从而加深对IOS平台的了解,为个人发展打下基础。
在人机对弈中通过深度搜索和估值模块,来提高电脑棋手的智能。
分析估值模块中的影响精准性的几个要素,以及提出若干提高精准性的办法,以及对他们搜索的节点数进行比较,在这些算法的基础上分析一些提高电脑AI方案,如递归算法,电脑学习等。
算法的研究有助于理解程序结构,增强逻辑思维能力,在其他人工智能方面也有很大的参考作用。
1.3国内外研究现状
现在iPhone的众多游戏都是来自中国的游戏开发者,苹果ios游戏开发已经悄然在中国形成一个产值过亿的庞大产业。
在过去两年中,苹果向全球的ios游戏开发者累计分成达到10亿美元,根据中国开发者提供的下载量、收入情况等数据测算,其中1亿美元被中国开发者获得。
有预测称,这一收入份额还可能在未来三年内占到全球的15%-20%。
此外,数据还显示,苹果ios游戏开发年收入额排名全球前100的开发公司中,中国公司有4家,而年收入500万美元以上的中国团队,也至少有5-7支。
苹果应用软件的开发在中国的增速极为迅猛,这一产业在2008年苹果进入中国后达到了3亿美元的市场规模,2009年超过10亿美元,有预测称,今年将可能突破40亿美元。
而ios游戏开发作为苹果应用软件中最受欢迎的一部分,将会分到近70%的利润。
“从中国市场的发展来看,目前ios游戏开发者中个人开发者占到45%,3人以下小团队占到56%,10人规模以下的工作室或个人共占80%。
随着竞争的激烈,拥有更多资源和人才的公司将更占优势。
目前在其开发的ios游戏中,单机小游戏占据最大的份额,达到90%,剩下的10%则是社交类游戏和一些大型高端游戏产品。
像《疯狂的小鸟》这种单机游戏容易制作、投入相对较少,因此一旦成功无疑是一本万利;
而大的制作则需要耗费巨大的人力、物力、财力,产出较低。
苹果ios游戏开发为中国市场带来巨大的机遇显而易见。
虽然现在其他平台也开始参与竞争,但苹果这一平台至少会在5年内保持世界上的领先地位。
苹果ios游戏开发必然会吸引更多的创业者加入,使得整个产业的发展更为迅速。
1.4主要研究内容
1、制定合法规则,能够判断出非法操作,以使博弈公正地进行并分出胜负;
2、支持人机对弈、能够让计算机按照游戏规则通过人工智能自行选择最优走法;
3、支持人人对弈;
4、设计算法,实现三三禁手。
5、具有精美的操作界面,能播放音乐,方便用户操作和使用;
1.5本文结构
本文主要内容如下:
第1章:
绪论部分,首先介绍了课题背景、来源、目的和意义,接着给出了本论文的主要研究内容和论文的结构。
第2章:
需求分析,按照软件工程的理论给出了系统开发的基本思想和方法。
在对系统的需求进行详细分析后,给出了系统所要完成的基本功能。
并介绍了系统的软硬件开发环境及开发工具。
第3章:
系统设计,对系统的各种结构和功能结构的设计做了描述。
第4章:
系统的实现与测试,介绍个功能模块的详细实现以及系统测试的方法和过程。
双击上一行的“1”“2”试试,(本行不会被打印,请自行删除)
第2章IRC协议基础及相关技术和理论
2.1IRC协议
2.1.1IRC协议的历史
IRC的全称是InternetRelayChat,缩写为IRC,中文名称一般为互联网中继聊天,它是由芬兰人JarkkoOikarinen于1988年首创的一种网络聊天协议[7]。
1988年,芬兰OULU大学的JarkkoOikarinen开始一个新的尝试,他制作了一个多用户版的UNIX"
TALK"
工具:
"
INTERNETRELAYCHAT"
。
UNIX的TALK工具是一种允许两个用户通过键盘进行实时笔谈交流的程序,现在仍然广泛地存在于许多运行LINUX系统的计算机中,你的谈话出现在计算机屏幕的上半部,而另一个人的信息则显示在屏幕的下半部。
Oikarinen创造出了我们今天所熟悉的IRC环境。
起初,许多用户登录到位于Oulu的一个单独的服务器,而后三个芬兰的服务器互联在一起成为世界上第一个IRC网络,到1988年年底,IRC网络已经延伸到Internet世界的各个角落。
经过数年的发展,目前世界上有超过60个国家提供了IRC的服务。
2.1.2IRC消息传递原理
IRC的中文名称为互联网中继聊天,“中继”是IRC网络聊天的核心。
所谓“中继”即“中转”。
我们来做一个比较说明.假设,A与B要交谈.如果不采用中转,那么A直接建立一条到达B的通信隧道,二者通过这条通信隧道进行信息交流,信息流的方向为:
A->
B和B->
A;
如果采用中转,则需要有一个第三方来担任中转角色,设为C,A建立一条到达C的通信隧道,B也建立一条到达C的通信隧道,然后A与B通过C来间接进行通信,信息流的方向为:
A->
C->
B和B->
A。
C就起着A与B间的中转站的作用。
中转有什么优点呢?
中转的最大优点是使"
群聊"
能够方便地进行。
恰当地说,中转模式为信息广播提供了方便。
我们来举例子,假设A,B和D三者要一起聊天.如果没有C的中转,那么A要将所说的每句话分别发给B和D;
如果有C做中转,那么A将所说的话发给C,然后C将A的话分别发给B和D。
可见,当没有中转时,每个参与聊天的计算机都要执行信息广播的任务,当存在中转时,信息广播的任务全由中转者来执行。
中转站C的存在使得信息交流过程中的工作任务发生分离,可以把网络环境好、机器配置高的计算机作为中转站来提供服务功能。
这就形成了IRC的客户端/服务器模型,聊天者作为客户端,连接到中转站服务器上[8]。
图2-1IRC网络简单示例
在上图中,A、B、C、D和E为服务器,1、2、3、和4为客户端,
(1)客户端1和2之间的通信是通过服务器A传递的,A接收到1的信息直接传递给2。
(2)客户端1和3之间的信息通过服务器A和B进行传递,对于其他的客户端和服务器是不可见的。
(3)客户端2和4之间的信息,只对服务器A、B、C和D可见[9]。
2.1.3IRC结构
一个典型的IRC网络,如图2-2所示。
图2-2IRC网络结构图
2.1.3.1IRC服务器
IRC是一个分布式的客户端/服务器结构。
通过连接到一个IRC服务器,我们可以访问这个服务器以及他所连接的其他服务器上的频道。
概括地说,聊天网络上的每个服务器都是一个中转站,当它从一个服务器或客户收到一条消息时,就将该消息转发给其它服务器,同时也根据具体情况,决定是否将消息转发给连接到自己的用户。
要使用IRC网络聊天,必须先登陆到一个IRC服务器上,最常见的为。
2.1.3.2IRC频道
频道存在于一个IRC服务器上。
频道的本质是广播组。
用户可以进入一个频道,也可以离开一个频道。
当一个用户朝频道说话时,频道里的其他用户都能收到他的话(由服务器中转)。
当第一个用户进入频道时,频道被创建,当最后一个用户离开频道时,频道被取消。
因此,从用户的角度看,频道就是聊天室。
频道名称必须以#符号开始,例如#irchelp。
2.1.3.3IRC客户端
客户端通常是一个连接到服务器的客户端程序。
每个客户端都由一个唯一的昵称进行区分,昵称最大长度为9个ASCII字符。
用户通过客户顿登陆IRC服务器[10]。
常见的IRC客户端如下:
(1)mIRC被认为是Windows操作系统下最受欢迎,应用最广泛的IRC客户端软件。
(2)XChat是跨平台的IRC客户端软件。
(3)HydraIRC是GPL授权对应Windows系统的IRC客户端软件。
(4)KVIrc是一款注重图形的GPL授权IRC客户端软件,基于Qt。
(5)Irssi是类UNIX系统下console界面的IRC客户端,常常与Screen一起搭配使用。
(6)Colloquy是MacOSX下的免费IRC客户端,界面设计友好,还有Console可以监控背后针对每个频道执行所有IRC命令[11]。
2.1.4IRC命令
根据统计数据IRC命令是用情况如表2-1所示。
IRC命令
使用情况
PRIVMSG
25.31%
PONG
12.37%
PING
10.29
JOIN
9.87%
QUIT
8.37%
MODE
7.75%
NOTICE
5.79%
LIST
5.15%
WHOIS
3.68%
PART
2.87%
WHO
2.00%
LINK
1.05%
CTCP
0.92%
DCC
0.40%
表2-1IRC命名使用情况统计表
由上表可以看出IRC最主要的命令式PRIVMSG、PING和PONG,因为PRIVMSG是私人消息命令,是IRC协议本身最基本的功能。
而PING和PONG则是用来判断客户端在空闲状态下,服务器是否连接的[12]
2.2网络数据包捕获技术
2.2.1网络数据的捕获原理
通常在同一个网段的所有网络接口都有访问在物理介质上传输的所有数据的能力,每个网络接口还应该有一个硬件地址,该硬件地址是唯一的,不同于网络中存在的任何其他网络接口的硬件地址,同时,每个网络还至少需要一个广播地址[13]。
当有一个站点发送数据时,网络中的其他站点总处于侦听状态,数据帧可被任何站点收到,否则丢弃。
网卡的接收模式一般有四种:
(1)广播模式:
该模式下的网卡能够接收网络中的广播信息。
(2)组播模式:
该模式下的网卡能够接收组播数据。
(3)直接模式:
该模式下只有目的网卡才能接收数据。
(4)混杂模式:
该模式下的网卡能够接收一切通过它的数据。
一般网卡只接受两种数据帧:
发给自己的帧、网络中的广播帧,所以通过将网卡设置为混杂模式可接收到所有流经网卡的数据帧,然后将其传给上层的网络层,而不管地址是否与自己匹配[14]。
2.2.2Libpcap数据捕获开发包简介
Libpcap是英文PacketCapturelibrary的缩写,即数据包捕获函数库。
该库提供的C函数接口可用于需要捕获经过网络接口(只要经过该接口,目标地址不一定为本机)数据包的系统开发上。
由Berkeley大学LawrenceBerkeleyNationalLaboratory研究院的VanJacobson、CraigLeres和StevenMcCanne编写。
该函数库支持Linux、Solaris和BSD体统平台。
Libpcap是一个平台独立的网络数据包捕获技术。
由于Libpcap与操作系统的类型无关,可以独立的访问网络链路层,并读取连路程数据,所以Libpcap有着非常广泛的应用,几乎涉及到网络数据包的捕获功能,都可以使用Libpcap开发包。
Libpcap的过滤机制是BPF,支持DLPI和SOCKPACKET,基于内核的过滤模块。
它可以捕获自己感兴趣的数据包,而过滤掉不需要的数据包。
Libpcap还可以将捕获到的数据包保存到文件中,也可以随时从文件中读取数据包的信息,且读出数据的结果和从网络上捕获的数据包数据完全一致[15]。
2.3Qt开发框架简介
Qt是一个跨平台的C++应用程序开发框架。
广泛应用于GUI程序开发,这种情况下又被称为部件工具箱。
也可用于开发非GUI程序,比如控制台工具和服务器。
它目前是诺基亚的QtDevelopmentFrameworks部门的产品。
Qt使用标准的C++。
通过语言绑定,其他的编程语言也可以使用Qt。
Qt是自由且开放源代码的软件,在GNU较宽松公开许可证条款下发布。
所有版本都支持广泛的编译器,包括GCC的C++编译器和VisualStudio。
2.3.1Qt简史
HaavardNord和EirikChambe-Eng于1991年开始开发“Qt”,1994年3月创立公司,最早名为QuasarTechnologies,然后更名为TrollTech,然后再更名为Trolltech,中文名是“奇趣科技”,2008年6月被NOKIA公司收购,以增强该公司在跨平台软件研发方向的实力,更名为QtSoftware。
该工具包名为Qt是因为字母Q在Haavard的Emacs字体特别漂亮,而“t”代表“toolkit”,灵感来自Xt,Xtoolkit。
2009年5月,诺基亚QtSoftware宣布Qt源代码管理系统面向公众开放,Qt开发人员可通过Qt以及与Qt相关的项目贡献代码、翻译、示例以及其他内容,协助引导和塑造Qt未来的发展。
为了便于这些内容的管理,QtSoftware启用了给予Git和Gitorious开源项目的Web源代码管理系统。
在推出开放式Qt代码库的同时,QtSoftware在其网站发布了其产品规划。
其中概述了研发项目中的新功能,展现了现阶段对Qt未来发展方向的观点,以期鼓励社区提供反馈和贡献代码,共同引导和塑造Qt的未来。
2.3.2Qt支持平台
使用Qt开发的软件,相同的程序代码可以在任何支持的平台上编译与执行,而不需要修改源代码。
会自动依平台的不同,表现平台特有的图形界面风格。
●Linux/X11:
用于XWindowSystem(如Solaris、ATX、Linux、HP-UX、Linux、BSD)。
支持KDevelop和EclipseIDE集成。
●Mac:
用于AppleMacOSX。
基于Cocoa框架。
支持UniversalBinary。
支持以Xcode编辑、编译和测试。
●Windows:
用于MicrosoftWindows。
支援VisualStudio集成。
●Embedded
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 ISO 平台 五子棋 游戏 毕业设计 论文