基于QT的扫雷游戏设计与实现本科毕业设计.doc
《基于QT的扫雷游戏设计与实现本科毕业设计.doc》由会员分享,可在线阅读,更多相关《基于QT的扫雷游戏设计与实现本科毕业设计.doc(54页珍藏版)》请在三一办公上搜索。
1、北京邮电大学本科生毕业论文基于QT的扫雷游戏的开发与实现所在院(系): 软件学院学生姓名: 宋宇辉指导教师: 苏小锐、冯秀芳研究起止日期:2014.3-2014.6毕业设计(论文)任务书第1页毕业设计(论文)题目:基于QT的扫雷游戏设计与实现毕业设计(论文)要求及原始数据(资料): 1介绍QT开发框架,以及扫雷游戏; 2深入了解基于QT的扫雷游戏的相关技术; 3熟练掌握QT开发框架的应用,训练编写C+程序的能力; 4设计并实现基于QT的扫雷游戏; 5深入分析基于QT的扫雷游戏的关键技术与编写语言; 6训练检索文献资料和利用文献资料的能力; 7训练撰写技术文档与学位论文的能力。第2页毕业设计(论
2、文)主要内容: 1介绍QT开发框架,以及扫雷游戏;2了解QT编程的相关技术;3熟悉QT开发框架; 4设计基于QT的扫雷游戏;5. 深入分析基于QT的扫雷游戏的关键技术与设计流程;6熟练掌握基于QT开发框架的C+编程;7设计与实现基于QT的扫雷游戏。学生应交出的设计文件(论文):1内容完整、层次清晰、叙述流畅、排版规范的毕业设计论文;2包括毕业设计论文、源程序等内容在内的毕业设计电子文档及其它相关材料。 第3页主要参考文献(资料):1 谭锋,章伟聪,Visual C+程序设计实训教程,北京:科学出版社,2003.82 成洁, 卢紫毅. Linux窗口程序设计Qt精彩实例分析M.北京:清华大学出版
3、社,20083 王超龙,陈志华,Visual C+入门与提高,北京:人民邮电出版社,2002.6 4 肖宏伟,Visual C+实效编程百例,北京:人民邮电出版社,2004.85 张建强,张秀梅.扫雷游戏策略初探J. 数学教学,2004(6):32-336 肖永亮Visual C+游戏编程基础,北京:电子工业出版社,2005.57 赵大伟,肖周芳,张艳.从扫雷游戏浅谈一些算法问题J. 科技信息,2008(29):698 刘加海,余建军,Visual C+程序设计基础,北京:科学出版社,2003.89 (美国)Ivor Horton,Beginning Visual C+2005,清华大学出版社
4、,200710 (美国)斯塔勒,游戏编程中的数理应用,红旗出版社,2005.311 (美国)Michael Dawson,Beginning C+ Game Programming,人民邮电出版社,2006.112 (美国)莫里森,游戏编程入门,人民邮电出版社,2005.913 (美国)麦克沙夫瑞,游戏编程全接触,人民邮电出版社,2006.1专业班级软件1026班学生宋宇辉要求设计(论文)工作起止日期2014年3月17日2014年6月27日指导教师签字日期2014年3月17日教研室主任审查签字日期系主任批准签字日期基于QT的扫雷游戏设计与实现摘 要本论文研究的是以QT为开发环境,设计并开发一款
5、扫雷游戏,其功能类似于Windows操作系统自带的扫雷游戏。实现的功能有界面的规划,游戏难度的调整,计时器,鼠标事件以及游戏完成的判定。论文首先介绍了制作游戏的整体思路及整个游戏设计的流程规划,然后介绍了雷区的布置及地雷随机产生的实现方法;重点介绍了在游戏过程中各事件的处理,其中又以鼠标事件和清除未靠近地雷区方块这两方面最为最要,鼠标事件是利用鼠标所发出的信息了解使用者的意图,进而做出相对应的动作,而清除未靠近地雷区方块由于引进了“扩散”这个概念而使其简单化。本次设计只是完成了扫雷游戏的基本功能,在细节方面仍然有待完善。关键词:扫雷; QT; 事件; 扩散Design And Implemen
6、tation Of Minesweeping Game Based On The QT PlatformAbstractWhat my thesis research for is basic on the develop environment of QT, design and develop a mine game,its function is similar to the mine games of the Windows Operating System .The thesis has introduced the layout of mined areas and the met
7、hod of how to create the mines at random. It use vairies of components in QT and the combination of some simple calculations; the thesis lays emphasis on introducing the processing of each event in the game. Among these events ,the mouse event and the event of clearance of the area which isnt close
8、to the mine field are much more important.The theory of mouse event is that the intention of user is learned by the information sent out by the mouse and then the program runs according to the information .The other event is simplified by the introduction of the concept of spread.This design has bee
9、n completed the basic function of mine game. The details still need to be improved.Key words: Mine game; QT; Affairs;Spread目录 摘 要iAbstractii第1章 绪论11.1研究背景11.2 开发的目的及意义11.3开发工具的选择1第2章 QT架构与平台搭建22.1 QT介绍22.1.1 QT语言的特性22.1.2 QT的优势22.1.3 QT/Embedded介绍32.2 QT的架构42.3 QT的组成42.4 QT开发平台的搭建62.5 QT SDK及QT Crea
10、tor工具的安装6第3章 游戏的总体分析与设计83.1 设计构想83.2 流程规划83.3 画面规划10第4章 游戏的详细设计114.1 游戏的开始114.2 雷区分布124.3 游戏中主要模块的介绍与使用144.3.1鼠标事件144.3.2地雷及雷区表面探测情况154.3.3清除未靠近地雷的方块164.3.4游戏难度的选择174.4 游戏的判断194.4.1游戏成功完成194.4.2 游戏进行失败214.5 重新进行游戏224.6 关于游戏234.7 英雄榜244.8 游戏测试及结果25总结26参考文献27致 谢28外文原文29外文翻译42第1章 绪论扫雷最原始的版本可以追溯到1973年一款
11、名为“方块”的游戏。不久之后,“方块”被改写成了游戏“Rlogic”。在“Rlogic”里,玩家的任务是作为美国海军陆战队队员,为指挥中心探出一条没有地雷的安全路线,如果路全被地雷堵死就算输。两年后,汤姆安德森在“Rlogic”的基础上有编写出了游戏“地雷”,由此奠定了现代扫雷游戏的雏形。1981年,微软公司的罗伯特杜尔和约翰逊两位工程师在Windows3.1系统上加载了该游戏,扫雷游戏才正式在全世界推广开来。1.1研究背景在计算机逐步渗入社会生活各个层面的今天,计算机已经成为人们日常生的一部分,越来越多的人使用计算机办公、娱乐等等。扫雷游戏是Windows操作系统自带的一款小游戏,在过去的几
12、年里,Windows操作系统历经数次换代更新,变得越来越庞大、复杂,功能也越来越强大,但是这款小游戏依然保持原来的容貌,可见这款小游戏受到越来越多人的喜爱。本次的毕业设计我将利用QT作为开发工具,开发一款类似的“扫雷游戏”。通过研究Windows操作系统自带的扫雷游戏,我们可以发现在这个游戏中主要有以下两个关键的地方:第一个是初始化问题,包括随机产生本局游戏中雷的总数,雷的分布对于每一个小区域如何获取周围地区分布的雷数等等。第二就是对鼠标事件的处理问题,既在游戏过程中对鼠标事件应如何做出反应。1.2 开发的目的及意义经过四年的大学学习,我对理论知识已经有了一定的了解与认知,本次的毕业设计便是将
13、书本上所学的理论知识与实际相结合,同时也是对所学知识的一种检查,希望通过本次的毕业设计使自己在程序的开发和设计上有新的认识并能有所提高。本次毕业设计既锻炼了我们的实际动手能力,又在老师的指导下进行了一次模拟实际产品的开发,对于我们以后工作能力的培养具有重要意义。1.3开发工具的选择由于毕业设计的选题,开发工具用的是Qt。Qt 是一个跨平台的 C+ 图形用户界面库,由挪威 TrollTech 公司出品,目前包括Qt, 基于 Framebuffer 的 Qt Embedded,快速开发工具 Qt Designer,国际化工具 Qt Linguist 等部分 Qt 支持所有 Unix 系统,当然也包
14、括 Linux,还支持 WinNT/Win2k,Win95/98 平台。 第2章 QT架构与平台搭建2.1 QT介绍QT是一个多平台的C+ 图形用户界面应用程序框架,而且QT提供了一组更容易理解的GUI类,运行的更快,另外QT特有的信号和槽,更易使用。QT面向对象且很容易扩展, 并且允许真正地组件编程。QT工具包是一个C+的类库并且是使用“一次编写,随处编译”的方式构建多平台的图形用户界面程序的一套工具。由于QT特性:平台无关性、优化了内存和资源的利用、拥有自己的窗口系统、模块化可裁剪性、代码完全公开。2.1.1 QT语言的特性QT是Trolltech公司的一款图形开发产品,它采用完全的面向对
15、象技术来进行图形应用程序的设计,允许真正的组件编程,Qt是一个全面的C+应用程序开发框架,它包含一个类库,和用于跨平台开发及国际化的工具,可以开发高性能,跨平台客户端,以及服务器端的应用程序。 Qt 类库是一个拥有超过 400个C+类,同时不断扩展的库。它封装了用于端到端应用程序开发所需要的所有基础结构。优秀的Qt应用程序接口包括成熟的对象模型,内容丰富的集合类,图形用户界面编程与布局设计功能,数据库编程,网络,XML,国际化,OpenGL 集成等等。 Qt 设计者 是一个功能强大的GUI布局与窗体构造器,能够在所有支持平台上,以本地化的视图外观与认知,快速开发高性能的用户界面。 Qt 语言家
16、 是一套用来消除国际化工作流程中所带来障碍的工具。使用Qt语言家,开发小组可把应用程序的翻译转换外包给非技术性翻译人员,从而可增加精确度,大大加快本地化处理过程。 Qt 助手 一个完全可自定义,重新分配的帮助文件或文档浏览器,它可与基于Qt 的应用程序运行。使用Qt助手,开发小组同样能够很大程度上加快文档的处理过程。2.1.2 QT的优势作为嵌入式图形界面开发工具,QT优势很多,有如下一些: 1.支持平台广泛 QT应用程序接口与工具兼容于所有支持平台,让开发员们掌握一个应用程序接口,便可执行与平台非相关的应用开发与配置,其支持的平台有:QT/Windows(Windows XP,2000,NT
17、4,Me/98)、QT/Mac (Mac OS X)、QT/X11(Linux ,SolarisHP-UX,IRIX,AIX)等。 2.封装多QT对不同平台的专门QPI进行了专门的封装(文件处理、网络等)。3.面向对象QT具有模块设计和注重软件构件或元素的可重用性的特点。 4.构件支持 QT提供信号(signal)和插槽(slot)概念,这是一种类型安全的方法,它允许回调,冰支持对象之间在彼此不知道对方信息的情况下进行合作,这使得QT非常适合于真正的构件编程。 5.友好的联机帮助 QT提供了大量的联机参考文档,有超文本HTML方式,也有UNIX帮助手册和补充说明,并且对于初学者,其中的指南将一
18、步步介绍如何进行QT编程。 6.便利性 由于QT是一种跨平台的GUI工具包,它对编程者隐藏了在处理不同窗口系统时潜在的问题,QT定义了一些类来隐藏在不同操作系统上不同处理方式下的细节问题。 7.用户自定义 使用其他的一些工具包经常会遇到这样的一种情况,没有真正适合需求的组件,声称自定义的组件对用户来说就像一个黑匣子。而在QT中生成用户自定义的组件非常简单,而且易于修改组件的行为。 8.国际化 QT为本地化应用提供了完全的支持,所有用户界面文本都可以基于消息翻译表被翻译成各国语言,QT还支持双字节16bit国际字符标准。 9.丰富的API函数 QT为专业应用提供了大量的函数,在QT的API中含有
19、大约250个C+类,大多数的类都是GUI专有的。 10.可用户化外观 QT支持主题,基于QT的应用程序能够在Windows外观、Motif外观,以及其他一些用户化主题之间切换。 11.完整的一套组件工具 QT编程的基本模块称之为组件,组件是用户界面的组成部分,QT含有用来创建专业外观的用户界面所需要的所有组件。2.1.3 QT/Embedded介绍QT/Embedded为带有轻量级窗口系统的嵌入式设备提供了标准的API。QT/Embedded面向对象的设计思想,使得它能一直向前支持鼠标、键盘、图形加速卡等附加设备。通过使用QT/Embedded,开发者可以感受到QT/X11、QT/Window
20、s和QT/Mac等不同的版本下使用相同的API编程带来的便利5。QT/Embedded与QT/X11的Linux版本的比较如下表2-1所示。应用源代码QT APIQT/EmbeddedQT/X11QT/XLibX Window ServerFrame-bufferLINUX 内核表2-1 QT/Embedded与QT/X11的Linux版本的比较2.2 QT的架构 1.窗口系统 一个QT/Embedded窗口系统包括了一个或多个进程,其中的一个进程可作为服务器。这个服务进程会分配客户显示区域,以及产生键盘和鼠标时间。此服务进程还能为已经运行的客户程序提供用户接口和输入方法。它其实就是一个有某些
21、额外权限的客户进程。任何程序都可以在命令行上加上“-qws”的选项来把它作为一个服务器来运行。 2.字体QT/Embedded支持四种不同字体格式:True Type 、Postscript Type1 、位图发布字体(BDF)和QT的预呈现(Pre-rendered)字体(QPF)。QT还可以通过增加QFontFactory的子类来支持其他字体,也可以支持以插件方式出现的反别名字体。 3.输入设备QT/Embedded 3.0支持集中鼠标协议:BusMouse、Microsoft、IntelliMouse 和MouseMan。2.3 QT的组成QT是一个完整的C+应用程序开发框架。它包含一个
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 QT 扫雷 游戏 设计 实现 本科 毕业设计
链接地址:https://www.31ppt.com/p-2392721.html