《跨平台网络对战游戏的设计与实现.doc》由会员分享,可在线阅读,更多相关《跨平台网络对战游戏的设计与实现.doc(59页珍藏版)》请在三一办公上搜索。
1、本科学生毕业论文(设计)题目(中 文):跨平台网络对战游戏的设计与实现(英 文):Design and implementation of game of thecross-platform network姓 名 学 号 院 (系)电子工程系专业、年级电子信息工程 级指导教师 湖南科技学院本科毕业论文(设计)诚信声明本人郑重声明:所呈交的本科毕业论文(设计),是本人在指导老师的指导下,独立进行研究工作所取得的成果,成果不存在知识产权争议,除文中已经注明引用的内容外,本论文不含任何其他个人或集体已经发表或撰写过的作品成果。对本文的研究做出重要贡献的个人和集体均已在文中以明确方式标明。本人完全意识
2、到本声明的法律结果由本人承担。 本科毕业论文(设计)作者签名: 二0一 三年 月 日 毕业论文(设计)任务书课题名称:跨平台网络对战游戏的设计与实现学生姓名: 系 别:电子工程系专 业:电子信息工程指导教师: 湖南科技学院本科毕业论文(设计)任务书1、主题词、关键词: 跨平台、C+、Qt、黑白棋、网络、套接字2、毕业论文(设计)内容要求:为了准确全面的设计和实现整个游戏,需先构思整个流程如下:(1) 介绍Qt工具的应用;(2) 不同平台的了解和介绍;(3) 介绍C+面向对象的思想;(4) 黑白棋游戏算法的设计与实现;(5) 黑白棋接口布局的设计与实现;(6) 黑白棋游戏各功能的设计与实现;(7
3、) 测试结果;3、文献查阅指引:1 倪继利.Qt及Linux操作系统窗口设计M.北京:电子工业出版社,2006.12,218-236.2 王存健,张建正.嵌入式Linux下Qt/Embedded的应用M.嵌入式系统.2007.04,1-6.3 郑振杰.C+程序设计M.北京:人民邮电出版社,2005.4 余苏宁,王明福.C+程序设计M.北京:高等教育出版社,2003.5 W.Richard Stevens,Bill Fenner, Andrew M.Rudoff, UNIX Network Programming, Volume 1:The Sockets Networking APIM, Th
4、ird Edition.6 韦东山.嵌入式Linux应用开发完全手册M.北京:人民邮电出版社,2007.4,32-45.7 王丽洁.嵌入式Linux的图形界面技术研究与实现D.国防科技大学:软件工程,2006.11.01,16-27.8 许建.基于Qt的嵌入式浏览器和GUI的实现D.西安电子科技大学:通信与信息工程,2008.01.01,5-12.4、毕业论文(设计)进度安排:(1) 第7学期的寒假,查文献,熟悉C/C+语言的使用;(2) 第8学期的第1周,查文献学会运用Qt控件,调研跨平台的环境搭建;(3) 第23周,完成游戏界面的设计;(4) 第4周,实现各游戏界面的功能;(5) 第5周,
5、完成游戏程序设计流程图;(6) 第6周,初步完成黑白棋游戏算法程序,撰写论文;(7) 第7周,完成网络部分的开发工作,填写中期检查表;进一步补充毕业论文内容;(8) 第8周,进行程序结果的测试,修改完善程序并进一步完善毕业论文内容;(9) 第9周完成毕业论文初稿;(10) 第10周定稿,填写相关表格;(11) 第11周毕业论文装订,准备答辩。教研室意见: 负责人签名: 注:本任务书一式三份,由指导教师填写,经教研室审批后一份下达给学生,一份交指导教师,一份留系里存档。湖南科技学院本科毕业论文(设计)开题报告书论文(设计)题目跨平台网络对战游戏的设计与实现作 者 姓 名李观培所属系、专业、年级
6、电子工程系 电子信息工程 专业 2009年级指导教师姓名、职称包本刚 副教授预计字数10000开题日期2012.12.25选题的根据:1)说明本选题的理论、实际意义2)综述国内外有关本选题的研究动态和自己的见解1)本选题的理论、实际意义选择本课题的意义在于整个游戏的设计思想独特,利用游戏设计的思想及算法指导带动完成一种游戏设计的架构。该游戏具有生动的主题和界面设计,能够将游戏安装嵌入到各种嵌入式设备中,能够成为嵌入式设备的一款应用。最重要的是,该款游戏支持不同平台的网络联网对战。2)国内外有关本选题的研究动态和自己的见解国内外各类棋牌游戏丰富,便于该游戏的推广与实际应用,但是它们的主题单一,但
7、游戏的设计过程中加入丰富的主题元素,使得用户更具有可操作性和趣味性,从而更加体现出从用户体检角度出发的思想。主要内容:1、不同平台的了解和介绍;2、介绍C+面向对象的思想;3、不同网络平台套接字的调研;4、黑白棋游戏的设计与实现;5、跨平台网络部分的开发;6、测试结果;研究方法:1、 完成游戏界面的设计。2、 进行游戏算法的分析。3、 进行网络部分的开发。完成期限和采取的主要措施:(1)第7学期的寒假,查文献,熟悉C/C+语言的使用;(2)第8学期的第1周,查文献学会运用Qt控件,调研跨平台的环境搭建;(3)第23周,完成游戏界面的设计;(4)第4周,实现各游戏界面的功能;(5)第5周,完成游
8、戏程序设计流程图;(6)第6周,初步完成黑白棋游戏算法程序,撰写论文;(7)第7周,完成网络部分的开发工作,填写中期检查表;进一步补充毕业论文内容;(8)第8周,进行程序结果的测试,修改完善程序并进一步完善毕业论文内容;(9)第9周完成毕业论文初稿;(10)第10周定稿,填写相关表格;第11周毕业论文装订,准备答辩。主要参考资料:1 倪继利.Qt及Linux操作系统窗口设计M.北京:电子工业出版社,2006.12,218236.2 王存健,张建正.嵌入式Linux下Qt/Embedded的应用M.嵌入式系统.2007.04,16.3 郑振杰.C+程序设计M.北京:人民邮电出版社,2005.4
9、余苏宁,王明福.C+程序设计M.北京:高等教育出版社,2003.5 W.Richard Stevens,Bill Fenner, Andrew M.Rudoff, UNIX Network Programming, Volume 1:The Sockets Networking APIM, Third Edition6 韦东山.嵌入式Linux应用开发完全手册M.北京:人民邮电出版社,2007.4,3245.7 许建.基于Qt的嵌入式浏览器和GUI的实现D.西安电子科技大学:通信与信息工程,2008.01.01,512.89指导教师意见: 指导教师签名: 教研室意见:签 名: 年 月 日开 题
10、 报 告 会 纪 要时间 2012.12.25地点三教517与会人员姓 名职务(职称)姓 名职务(职称)姓 名职务(职称)包本刚副教授宫彦军教授贾竹君副教授何红松讲师陈爱武讲师游珍珍讲师会议记录摘要:问题1:整个设计实现了一些什么功能?答:整个设计项目实现人人对战,人机对战,网络对战,悔棋,播放音乐,更换背景等功能。问题2:整个设计的步骤是怎样的?答:整个设计分为软件界面设计与绘画,各模块功能划分,编码开发,和后期测试四个大的步骤,整个项目严格按照这些步骤进行。问题3:整个项目有什么意义?答:整个项目是跨平台的,对于跨平台的游戏开发具有一定的作用,在后期开发中,还可以把游戏嵌入到嵌入式设备等终
11、端中去,使游戏更具推广性。会议主持人:记 录 人:年 月 日指导小组意见负责人签名: 年 月 日系部 意 见负责人签名:年月日注:此表由学生本人填写,一式三份,一份留系里存档,指导老师和本人各保存一份湖南科技学院毕业论文(设计)中期检查表毕业论文(设计)题 目跨平台网络对战游戏的设计与实现学生姓名李观培学 号200906002304系 别物理与电子工程专 业电子信息工程指导教师包本刚检查日期2013.4.10指导教师检查情况记载及修改意见:修改意见:1. 文献引用较少,并且格式不对。2. 各标题的重点不明确。3. 流程图是怎样获得的,没有详细的描述过程。4. 算法描述不够详细。5. 应该加入必
12、要的附录文件。6总体篇幅不够。签名: 注:此表用于指导教师在学生毕业论文(设计)初稿完成后对学生执行任务书情况进行中期检查时用,由指导教师填写。湖南科技学院毕业设计(论文)指导过程记录表毕业论文(设计)题目跨平台网络对战游戏的设计与实现学生姓名李观培学号200906002304专业班级电信 0903 班指导教师包本刚职称副教授系(教研室)电子工程系指导过程记录指导内容记录(一)先了解相关Qt方面的资料,调研网络套接字的用法。学 生 签 名: 2013 年 1月 1 日 指导教师签名: 2013 年 1月 1 日指导内容记录(二)学习并掌握C+的语法,学习面向对象编程思想,掌握基本的编程技巧以及
13、调试技巧。学 生 签 名: 2013 年 1月15 日 指导教师签名: 2013 年 1月15 日指导内容记录(三) 熟练Linux系统平台及基本命令。能够对基本的文件进行编译。学 生 签 名: 2013 年 2月 1 日指导教师签名: 2013 年 2月 1 日指导内容记录(四) 熟悉Qt软件的使用,掌握基本的软件用法。学 生 签 名: 2013 年2 月 15日 指导教师签名: 2013 年2 月 15日指导过程记录指导内容记录(五) 进行基本界面的绘画,实现基本的功能开发。学 生 签 名: 2013 年 3月 3 日 指导教师签名: 2013 年3 月 3 日指导内容记录(六) 注意各模
14、块的衔接与结合。学 生 签 名: 2013 年3月20 日 指导教师签名: 2013 年3月20 日指导内容记录(七)确认各个需求,进行编码工作。注意后期代码维护工作。学 生 签 名: 2013 年4 月12 日 指导教师签名: 2013 年4 月12 日指导内容记录(八) 进行软件的测试工作,优化程序,优化效率。学 生 签 名: 2013 年 5 月 6日 指导教师签名: 2013 年 5 月6 日答辩小组组长意见(对情况是否属实做出意见)组长(签名): 201 年 月 日注:本表与毕业论文一起装订存档。湖南科技学院本科毕业论文(设计)评审表论文题目跨平台网络对战游戏的设计与实现作者姓名李观
15、培所属系、专业、年级电子工程 系 电子信息工程 专业 2009年级指导教师姓名、职称包本刚 副教授字 数10000定稿日期2013.5.8中文摘要本文利用C+,Qt,网络套接字等技术,实现了支持跨平台的网络黑白棋游戏开发,同时融入“植物大战僵尸”的主题元素,使得游戏更具趣味性,该游戏支持注册账号,人人对战,人机对战,网络对战,悔棋,背景更改,音乐播放等不同功能,使得该款游戏富有多样性,同时跨平台的网络对战是设计的一个独特之处,调研发现,在不同平台的通信中,底层实现方案相差不大,因此利用套接字技术,可以在不同平台进行通信,同时自己设计传输协议,使得数据传输和解析变得更为简单,更加具有可控性,采用
16、UDP通信技术的优点是,传输速度快,但由于其是无连接的,所有在数据安全性方面,不如TCP通信,基于本款游戏的传输数据小的特点,用UDP通信还是安全可靠的。后期开发应该支持该款游戏运用到嵌入式设备当中,使游戏更具推广性。关键词(3-5个)跨平台、C+、Qt、黑白棋、网络、套接字英文摘要In this paper, using C+, Qt, network sockets technology, has realized the network Reversi game development support platform, at the same time thematic element
17、s into zombies, make the game more interesting, the game supports registered account, all war, man-machine war, network war, afterwards, background change, music player and other functions, so that the game is rich in diversity, and cross-platform network is a unique design to the war, research foun
18、d that, in the communication of different platform, implementation scheme is similar, so the use of socket technology, can communicate in different platform, at the same time to design their own transmission protocol, makes the data transmission and analysis becomes more simple, more controllable, t
19、he advantages of using UDP communication technique, the transmission speed is fast, but because it is connectionless, all in the data security aspect, as TCP communication, data transmission characteristics of the game based on small, UDP communication is safe and reliable. The late development shou
20、ld support the game to use embedded equipment, make the game more generalizati.the transmission speed is fast, but because it is connectionless, all in the data security, as well as TCP communication, data transmission characteristics of the game based on small, with UDP communication is safe and re
21、liable. The late development should support the game to use embedded equipment, make the game even more generalization.关键词(3-5个)C+、Qt、Reversi game、Socket指导教师评定成绩评审基元评审要素评审内涵满分指导教师实评分选题质量25%目的明确符合要求选题符合专业培养目标,体现学科、专业特点和教学计划的基本要求,达到毕业论文(设计)综合训练的目的。10理论意义或实际价值符合本学科的理论发展,有一定的学术意义;对经济建设和社会发展的应用性研究中的某个理论或
22、方法问题进行研究,具有一定的实际价值。10选题恰当题目规模适当,难易度适中;有一定的科学性。5能力水平40%查阅文献资料能力能独立查阅相关文献资料,归纳总结本论文所涉及的有关研究状况及成果。10综合运用知识能力能运用所学专业知识阐述问题;能对查阅的资料进行整理和运用;能对其科学论点进行论证。10研究方案的设计能力整体思路清晰;研究方案合理可行。5研究方法和手段的运用能力能运用本学科常规研究方法及相关研究手段(如计算机、实验仪器设备等)进行实验、实践并加工处理、总结信息。10外文应用能力能阅读、翻译一定量的本专业外文资料、外文摘要和外文参考书目(特殊专业除外)体现一定的外语水平。5论文质量35%
23、文题相符较好地完成论文选题的目的要求。5写作水平论点鲜明;论据充分;条理清晰;语言流畅。15写作规范符合学术论文的基本要求。用语、格式、图表、数据、量和单位、各种资料引用规范化、符合标准。10论文篇幅10000字左右。5实评总分 成绩等级 指导教师评审意见: 指导教师签名: 说明:评定成绩分为优秀、良好、中等、及格、不及格五个等级,实评总分90100分记为优秀,8089分记为良好,7079分记为中等,6069分记为及格,60分以下记为不及格。评阅教师评定成绩评审基元评审要素评审内涵满分评阅教师实评分选题质量25%目的明确符合要求选题符合专业培养目标,体现学科、专业特点和教学计划的基本要求,达到
24、毕业论文(设计)综合训练的目的。10理论意义或实际价值符合本学科的理论发展,有一定的学术意义;对经济建设和社会发展的应用性研究中的某个理论或方法问题进行研究,具有一定的实际价值。10选题恰当题目规模适当,难易度适中;有一定的科学性。5能力水平40%查阅文献资料能力能独立查阅相关文献资料,归纳总结本论文所涉及的有关研究状况及成果。10综合运用知识能力能运用所学专业知识阐述问题;能对查阅的资料进行整理和运用;能对其科学论点进行论证。10研究方案的设计能力整体思路清晰;研究方案合理可行。5研究方法和手段的运用能力能运用本学科常规研究方法及相关研究手段(如计算机、实验仪器设备等)进行实验、实践并加工处
25、理、总结信息。10外文应用能力能阅读、翻译一定量的本专业外文资料、外文摘要和外文参考书目(特殊专业除外)体现一定的外语水平。5论文质量35%文题相符较好地完成论文选题的目的要求。5写作水平论点鲜明;论据充分;条理清晰;语言流畅。15写作规范符合学术论文的基本要求。用语、格式、图表、数据、量和单位、各种资料引用规范化、符合标准。10论文篇幅10000字左右。5实评总分 成绩等级 评阅教师评审意见: 评阅教师签名: 说明:评定成绩分为优秀、良好、中等、及格、不及格五个等级,实评总分90100分记为优秀,8089分记为良好,7079分记为中等,6069分记为及格,60分以下记为不及格。湖南科技学院本
26、科毕业论文(设计)答辩记录表论文题目跨平台网络对战游戏的设计与实现作者姓名李观培所属系、专业、年级电子工程系 电子信息工程专业 2009年级指导教师姓名、职称包本刚 副教授答 辩 会 纪 要时间2013.5.18地点三教517答辩小组成员姓 名职务(职称)姓 名职务(职称)姓 名职务(职称)包本刚副教授宫彦军教授贾竹君副教授何红松讲师陈爱武讲师游珍珍讲师答辩中提出的主要问题及回答的简要情况记录:问题1:用C+编程,是怎样实现跨平台开发的?答:Linux系统里面本身很多软件就是用C+开发的,Qt自身就是跨平台的,Linux系统的g+,qmake等软件可以对C+进行编译,而在不同平台上,网络套接字
27、也都是通用的,所以,该项目是与各平台兼容的。问题2:整个项目的步骤是怎样的?答:软件的设计分为四个步骤,首先,是软件界面的设计与绘画,其次,进行各个模块功能的确定,再次,就是编码开发,最后就是软件的测试工作,整个项目严格按照这些步骤进行开发。问题3:网络对战是怎样实现的?答:在网络对战的过程中,采用了UDP协议,需要对数据包进行编码组合和解析,比如,当用户点击某个落子的区域的时候,把棋盘方格的坐标转换成数据发送给对方,对方接受到数据包后,解析到该信息则可以知道对方在什么位置进行了落子操作,从而更新自己的界面,从而达到数据传输的效果。会议主持人:记 录 人:年 月 日答辩小组意见评语:评定等级:
28、 负责人(签名): 年 月 日系学位委员会意见评语:论文(设计)最终评定等级:负责人(签名): 系部(公章) 年月 日校学位委员会意见评语:评定等级: 负责人(签名): 年月 日目 录绪论11 功能设计31.1 界面设计31.2 注册账号31.3 人人对战41.4 人机对战41.5 悔棋41.6 更换背景41.7 音乐播放41.8 网络对战52 方案设计62.1 落子部分算法实现62.2 网络对战72.2.1 C/S架构介绍72.2.1.1 简要介绍72.2.1.2 C/S框架工作模式72.2.1.3 优点82.2.2 协议选取82.2.2.1 TCP、UDP协议介绍82.2.2.2 TCP、
29、UDP协议的区别92.2.3 UDP协议的运用102.2.3.1 套接字介绍102.2.3.2 套接字通信102.2.3.3 UDP客户端与服务端关系图102.2.4 客户端开发112.2.5 服务端开发113 功能实现123.1 程序流程图123.1.1 人人对战123.1.2 悔棋133.1.3 人机对战143.1.4 网络对战153.1.5 吃子算法流程图163.2 编码173.2.1 算法部分173.2.2 客户端183.2.3 服务端214 系统测试和评估254.1 测试用例254.2 测试环境和配置254.3 测试方法254.4 人工测试254.5 测试情况254.5.1 测试数据
30、254.6 测试总结26结论27参考文献28附录一29附录二30致 谢38插图索引图1 登陆界面设计图3图2 注册界面设计图4图3 游戏界面设计图5图4 算法描述图6图5 落子演示图7图6 C/S关系图11图7 人人对战流程图12 图8 悔棋流程图13图9 人机对战流程图14图10 网络对战流程图15图11 算法流程图16图12 CentOS登陆界面29图13 CentOS系统主界面29 跨平台网络对战游戏的设计与实现摘 要本文利用C+,Qt,网络套接字等技术,实现了支持跨平台的网络黑白棋游戏开发,同时融入“植物大战僵尸”的主题元素,使得游戏更具趣味性,该游戏支持注册账号,人人对战,人机对战,
31、网络对战,悔棋,背景更改,音乐播放等不同功能,使得该款游戏富有多样性,同时跨平台的网络对战是设计的一个独特之处,调研发现,在不同平台的通信中,底层实现方案相差不大,因此利用套接字技术,可以在不同平台进行通信,同时自己设计传输协议,使得数据传输和解析变得更为简单,更加具有可控性,采用UDP通信技术的优点是,传输速度快,但由于其是无连接的,所有在数据安全性方面,不如TCP通信,基于本款游戏的传输数据小的特点,用UDP通信还是安全可靠的。后期开发应该支持该款游戏运用到嵌入式设备当中,使游戏更具推广性。【关键词】:跨平台、C+、Qt、黑白棋、网络、套接字Design and implementatio
32、n of game of the cross-platform networkAbstractIn this paper, using C+, Qt, network sockets technology, has realized the network Reversi game development support platform, at the same time thematic elements into zombies, make the game more interesting, the game supports registered account, all war,
33、man-machine war, network war, afterwards, background change, music player and other functions, so that the game is rich in diversity, and cross-platform network is a unique design to the war, research found that, in the communication of different platform, implementation scheme is similar, so the us
34、e of socket technology, can communicate in different platform, at the same time to design their own transmission protocol, makes the data transmission and analysis becomes more simple, more controllable, the advantages of using UDP communication technique, the transmission speed is fast, but because
35、 it is connectionless, all in the data security aspect, as TCP communication, data transmission characteristics of the game based on small, UDP communication is safe and reliable. The late development should support the game to use embedded equipment, make the game even more generalization.【Key word
36、s】 C+、Qt、Reversi game、Socket绪论Linux诞生于1991年10月,至今已有二十多年历史。Linux是一套内核免费且功能完整的操作系统,运作稳定且有效率,被广泛用作服务器操作系统。现在主流的游戏大多是在Windows平台上运行的,而Linux平台上的游戏却是非常少。随着Linux技术的不断完善和发展,用户对Linux认可程度的不断提高,基于Linux的解决方案逐渐增加,其用户不断增加,因此可以断言Linux未来市场前景非常广阔。因此,Linux平台上游戏的需求将会不断的增大,开发基于Linux的游戏就更加可行。“黑白棋”是一个很著名的棋类游戏,又称为“奥赛罗”棋。规则
37、是在8*8的棋盘上的中心位置,先放入四个棋子,黑白各两个。然后双方轮流下子,在直线或者斜线方向,乙方两子之间的所有敌子(不能包含空格)全部变为己子(称为吃子)。每次落子必须有吃子,最好棋盘全部占满,或者双方都不能落子,那么子多为胜,如果一方把对方全部吃完,也算获胜。它是一款很好的休闲娱乐游戏。现在在Linux版本的游戏中,像黑白棋游戏这类益智休闲类游戏发展缓慢,在现今的Linux游戏市场,地位非常薄弱。因此提升益智休闲类游戏的发展速度,才能更快的发展我国Linux游戏市场,能够成为其开辟一条新的道路。关于系统环境及技术,这里用到了Qt。Qt是一个可以跨平台的C+图形用户界面应用程序框架。它提供
38、给应用程序开发者建立艺术级的图形用户界面所需的功能。Qt是完全面向对象的,很容易扩展,并且允许真正地组件编程。自从1996年Qt进入商业领域,它已经成为全世界范围内数千种成功的应用程序的基础。Qt也是流行的Linux桌面环境KDE的基础,KDE是所有主要Linux发行版的一个标准组件。3网络通信部分,灵活运用Qt中的套接字。同时用UDP协议实现该功能。UDP是面向无连接的,因此没有客户端与服务器的概念。UDP是OSI参考模型中一种无连接的传输层协议,它主要用于不同分组顺序到达的传输中,分组传输顺序的检查和排序由应用层完成,提供面向事务的简单不可靠信息传送服务。UDP协议基本上是IP协议与上层协
39、议的接口。UDP协议适用端口分别运行在同一台设备上的多个应用程序。UDP协议的全称是用户数据报协议,在网络中它与TCP协议一样用于处理数据包,是一种无连接的协议。在OSI模型中,在第四层传输层,处于IP协议的上一层。UDP有不提供数据包分组、组装和不能对数据包进行排序的缺点,也就是说,当报文发送之后,是无法得知其是否安全完整到达的。UDP用来支持那些需要在计算机之间传输数据的网络应用。包括网络视频会议系统在内的众多的客户/服务器模式的网络应用都需要使用UDP协议。UDP协议从问世至今已经被使用了很多年,虽然其最初的光彩已经被一些类似协议所掩盖,但是即使是在今天UDP仍然不失为一项非常实用和可行
40、的网络传输层协议。在选择使用协议的时候,选择UDP必须要谨慎。在网络质量令人不十分满意的环境下,UDP协议数据包丢失会比较严重。但是由于UDP的特性:它不属于连接型协议,因而具有资源消耗小,处理速度快的优点,所以通 常音频、视频和普通数据在传送时使用UDP较多,因为它们即使偶尔丢失一两个数据包,也不会对接收结果产生太大影响。比如我们聊天用的ICQ和QQ就是使用的UDP协议。本文以黑白棋游戏为例研究可以在Windows和Linux之间跨平台使用的网络游戏客户端及其实现。1功能设计1.1 界面设计界面的设计包括界面的分级,布局,及主题设计,界面总体设计:一级界面:账号密码框,记住密码复选框,注册、登陆、帮助、退出按钮。点击注册时,可弹出注册界面。二级界面:开始游戏,人机对战,网络版,更换棋盘背景,返回主界面