扫雷游戏毕业设计论文汇编Word下载.docx
- 文档编号:14130945
- 上传时间:2022-10-19
- 格式:DOCX
- 页数:16
- 大小:269.05KB
扫雷游戏毕业设计论文汇编Word下载.docx
《扫雷游戏毕业设计论文汇编Word下载.docx》由会员分享,可在线阅读,更多相关《扫雷游戏毕业设计论文汇编Word下载.docx(16页珍藏版)》请在冰豆网上搜索。
姓名
常慧珍
学号
10090224
指导教师
李攀
日期
二零一二年九月
基于Qt的扫雷游戏设计
总计:
毕业设计(论文)25页
图表10幅
摘要
扫雷游戏是一款经典的小游戏,这款游戏不仅可以让人们充分享受娱乐的目的,而且可以通过这款小游戏开发人的逻辑推理能力和判断能力。
本次毕业设计我们以Qt4.6为开发环境,设计并开发了基于Qt的扫雷游戏。
扫雷游戏主要研究以下两个方面:
第一是初始化问题,包括随机产生本局游戏中的雷数,雷的分布对于每个小区域如何获得周围地区分布的雷数等等。
第二就是对鼠标事件的处理,即在游戏过程中对鼠标事件应如何做出反应。
本论文以Qt作为开发软件,首先使用信号与槽的方法实现菜单、工具栏的功能,其次又以MousePressEvent鼠标事件发出信息来了解使用者的意图,进而做出相对应的动作,再次介绍了清除地雷区方块的方法,通过递归程序的编写,在程序代码上会变得相当简洁。
最后利用布局管理组(Layouts)进行整体布局。
使用C++语言设计完成了扫雷游戏的初始化界面,实现了扫雷游戏的计时、重新开始、难度设置、排行榜、帮助等功能。
还增加了游戏在成败时弹出对话框等功能。
总的来说本次设计在功能上已经基本达到预期的要求。
但还有一些不足,比如扫雷游戏设计还可以添加一些背景音乐、背景图片、视频等功能,更能增加人们的娱乐性。
关键词:
扫雷游戏;
Qt;
C++
ABSTRACT
Minesweepergameisaclassicgame,thegamecannotonlyallowpeopletofullyenjoytheentertainmentpurposes,andbythissmallgamedevelopmentlogicalreasoningabilityandjudgment.ThegraduationprojecttoQt4.6developmentenvironment,designanddevelopmentofQt-basedgameofMinesweeper.
Theminesweepergamethefollowingtwoaspects:
Thefirstistheinitializationproblems,includingrandomlygeneratednumberofCouncilGameRayRaydistributionforeachsmallareahowtogetaroundthegeographicaldistributionofRay.
Thesecondistheprocessingofmouseevents,mouseeventsinthecourseofthegamehowtoreact.
Inthisthesis,QTsignalsandslotsasthedevelopmentofsoftware,thefirsttousethemethodtoachievethefunctionalityofthemenus,toolbars,followedYouyimousePressEventmouseeventsissuedinformationtounderstandtheuser'
sintent,andthenmakeacorrespondingaction,againintroducedaclearMinefieldsboxbyrecursiveprogramcodewillbecomequitesimple.Finally,thethelayoutmanagementgroup(Layouts)overalllayout.
Completedminesweepinggamesinitializationinterfacedesign,toachieveamine-sweepinggameoftiming,startagain,difficultysettings,rankings,helpfunctionsusingtheClanguage.Gameinthesuccessorfailureofthepop-updialogbox.Overall,thedesignfunctionhasbasicallyreachedtheexpectedrequirements.Buttherearesomedisadvantages,suchasminesweepinggamedesigncanalsoaddsomebackgroundmusic,backgroundimage,video,andcanhelpincreasepeople'
sentertainment.
Keywords:
Minesweepergame;
Qt;
C++
第1章绪论
1.1研究背景
随着计算机与网络的普及,人们生活水平的提高,电脑游戏越来越成为人们生活中不可或缺的一部分,在人们繁忙的工作之余,给人带去欢乐。
随着电脑游戏产业的规模越来越大,开发一款成功的电脑游戏靠个人之力已非易事。
不过,随着市场上开发的游戏产品越来越丰富,各种题材的游戏越来越多,创意已成为一款成功游戏的最重要的特点。
例如目前流行的游戏“植物大战僵尸”、“愤怒的小鸟”,虽然都是一些很小的休闲游戏,但是因其特有的风格,使得它们都深受人们的喜爱。
本次毕业设计将利用Qt4.6作为开发工具,设计了基于Qt的扫雷游戏。
1.2研究原因
扫雷游戏是Windows操作系统自带的一款小游戏,与那些网络游戏和3D游戏相比,它有编写简单容易上手等特点,游戏开发成本比较低,开发娱乐性强的游戏就成为当前的主要课题,在这种趋势下各种小型的低成本的游戏软件应运而生。
其中,系统自带的小游戏也占据了相当重要的地位,非常符合人们娱乐的要求。
这些小游戏大都是以益智和娱乐为目的,不仅给紧张工作的人们以放松,还可以让人们的大脑得到开发。
本课题就是基于Qt扫雷游戏的设计。
1.3研究意义
经过三年的大学学习,我对理论知识已经有了一定的了解与认知,本次的毕业设计便是将书本上所学的理论知识与实际相结合,同时也是对所学知识的一种检查,希望通过本次的毕业设计使自己在程序编写和游戏开发上有新的认识并能有所提高。
本次毕业设计既锻炼了我们的实际动手能力,又培养了我们的自信心。
在老师的指导下进行了一次模拟实际产品的开发,这对以后工作和学习能力的培养具有重要意义。
第2章Qt简介
Qt是一个跨平台的C++图形用户界面应用程序框架。
它给应用程序开发者提供建立艺术级图形用户所需的所有功能。
它是完全面对对象的,很容易扩展,并且允许真正的组件编程。
Qt已经在Windows、Linux和EmbbededLinux上成功的推广。
而且Qt是一个开源项目,开发成本比较低,又为开发者提供了免费而又友好的集成开发环境。
Qt采用C++语言作为开发语言,使用C++语言开发,其运行效率可以得到保证。
2.1Qt特征
引入一种信号和槽机制,可查询和可设计的属性,强大的事件和事件过滤器,根据上下文进行国际化的字符串翻译,完善的时间间隔驱动的计时器使得在一个事件驱动的图形界面程序中很好地集成许多任务成为可能。
以一种自然的方式组织对象所有权的分层次和可查询的对象树。
2.2Qt核心编程技术
2.2.1元对象系统
Qt元对象系统提供了对象间的通信机制(信号与槽)、运行时类型信息和动态属性系统的支持,是标准的C++的一个扩展,它使Qt能更好地实现GUI图形用户界面编程。
Qt的元对象系统不支持C++模板,尽管模板扩展了标准C++的功能,但是对元对象系统提供了模板无法提供的一些特性。
Qt的元对象基于三个事实:
①基类Q_Object:
任何想使用元对象系统功能的类必须继承QObject。
②Q_OBJECT宏:
Q_OBJECT宏必须出现在类的私有声明区,已启动元对象的特性。
③元对象编译器(Meta-ObjectCompiler,moc):
为QObject子类实现元对象特性提供必要的代码实现。
编译器moc产生能被标准C++编译器访问的附加C++代码,带有moc预编译器的C++基本上提供了面向对象的灵活性,并保持了C++的执行效率和扩展性。
2.2.2信号和槽机制
Qt提供了信号和槽机制来完成界面操作的响应,是完成任意两个Qt对象之间的通信机制。
其中,信号会在某个特定的情况或动作下被触发,槽是等同于接受并处理信号的函数。
每个Qt对象都包含若干个预定义的信号和若干个预定义的槽,当某一个特定事件发生时,一个信号被发射,与信号相关联的槽则会响应信号完成相应的处理。
当一个类被继承时,该类的信号和槽也同时被继承,也可以根据需要自定义信号和槽。
常用的连接方式为:
connect(Object1,SIGNAL(singal),Object2,SLOT(slot));
singal为对象Object1的信号,slot为对象Object2的槽。
2.2.3QObject类
QObject是Qt类体系的唯一基类,是Qt各种功能的源头活水,就象MFC中的CObject和Dephi中的TObject。
2.2.4对象树
QObject在对象树中组织它们自己。
当你以另外一个对象作为父对象来创建一个QObject时,它就被添加到父对象的children()列表中,并且当父对象被删除的时候,它也会被删除。
这种机制很好的适合了图形用户界面应用对象的需要。
2.2.5事件
事件是由窗口系统或Qt本身对各种事务的反应而产生的。
当用户按下、释放一个键或鼠标按钮,一个键盘或鼠标事件被产生;
当窗口第一次显示,一个绘图事件产生,从而告知最新的可见窗口需要重绘自身。
大多数事件是由于响应用户的动作而产生的,但还有一些,比如定时器等,是由系统独立产生的。
2.2.6QApplication类
QApplication类和QWidget类都是QObject类的子类。
QApplication类负责GUI应用程序的控制流和主要的设置,它包括主事件循环体,负责处理和调度所有来自窗口系统和其他资源的事件,并且处理应用程序的开始、结束以及会话管理,还包括系统和应用程序方面的设置。
对于一个应用程序来说,建立此类的对象是必不可少的。
2.2.7QWidget类
QWidget类是所有用户接口对象的基类,它继承了QObject类的属性。
组件是用户界面的单元组成部分,它接收鼠标、键盘和其它从窗口系统来的事件,并把它自己绘制在盘屏幕上。
QWidget类有很多成员函数,但一般不直接使用,而是通过子类继承来使用其函数功能。
如,QPushButton、QlistBox等都是它的子类。
2.2.8基本布局(QLayout)
Qt提供了QHBoxLayout类、QVBoxLayout类及QGridLayout类等的基本布局管理,分别是水平布局管理、垂直布局管理和网格布局管理。
他们之间的继承管理如图2-1所示。
图2-1各种布局类及之间的关系
2.3C++面向对象程序设计
面向对象编程是一种计算机编程架构。
面向对象的一条基本原则是计算机
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 扫雷 游戏 毕业设计 论文 汇编