扫雷游戏设计毕业论文

上传人:壹****1 文档编号:498314144 上传时间:2024-01-26 格式:DOC 页数:19 大小:389.50KB
返回 下载 相关 举报
扫雷游戏设计毕业论文_第1页
第1页 / 共19页
扫雷游戏设计毕业论文_第2页
第2页 / 共19页
扫雷游戏设计毕业论文_第3页
第3页 / 共19页
扫雷游戏设计毕业论文_第4页
第4页 / 共19页
扫雷游戏设计毕业论文_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《扫雷游戏设计毕业论文》由会员分享,可在线阅读,更多相关《扫雷游戏设计毕业论文(19页珍藏版)》请在金锄头文库上搜索。

1、扫雷游戏设计毕业论文目 录摘 要IABSTRACTII第1章 绪论- 1 -1.1 研究背景- 1 -1.2 研究原因- 1 -1.3 研究意义- 1 -第2章 Qt简介- 2 -2.1 Qt特征- 2 -2.2 Qt核心编程技术- 2 -2.2.1 元对象系统- 2 -2.2.2 信号和槽机制- 3 -2.2.3 QObject类- 3 -2.2.4 对象树- 3 -2.2.5 事件- 3 -2.2.6 QApplication类- 3 -2.2.7 QWidget类- 4 -2.2.8 基本布局(QLayout)- 4 -2.3 C+面向对象程序设计- 4 -2.4 Qt程序用到的类- 5

2、 -2.5 Qt应用程序实现- 5 -2.6 本章小结- 6 -第3章 扫雷游戏设计- 8 -3.1 扫雷游戏功能需求分析- 8 -3.2 扫雷游戏整体框架介绍- 8 -3.3 扫雷游戏主要功能的实现- 9 -3.3.1 菜单栏的实现- 9 -3.3.2 菜单栏的功能- 11 -3.3.3 鼠标事件的实现- 11 -3.3.4 完成扫雷游戏逻辑的设计- 12 -3.3.5 扫雷游戏状态分类- 12 -3.3.6 初始化界面功能实现- 13 -3.3.7 雷区的随机布置- 13 -3.4 清除未靠近地雷的方块- 14 -3.5 游戏的判断- 15 -3.5.1 游戏成功- 15 -3.5.2 游

3、戏失败- 15 -3.6 游戏测试结果- 16 -结 论- 17 -致 谢- 18 -参 考 文 献- 19 -第1章 绪论1.1 研究背景随着计算机与网络的普及,人们生活水平的提高,电脑游戏越来越成为人们生活中不可或缺的一部分,在人们繁忙的工作之余,给人带去欢乐。随着电脑游戏产业的规模越来越大,开发一款成功的电脑游戏靠个人之力已非易事。不过,随着市场上开发的游戏产品越来越丰富,各种题材的游戏越来越多,创意已成为一款成功游戏的最重要的特点。例如目前流行的游戏“植物大战僵尸”、“愤怒的小鸟”,虽然都是一些很小的休闲游戏,但是因其特有的风格,使得它们都深受人们的喜爱。本次毕业设计将利用Qt4.6作

4、为开发工具,设计了基于Qt的扫雷游戏。1.2 研究原因扫雷游戏是Windows操作系统自带的一款小游戏,与那些网络游戏和3D游戏相比,它有编写简单容易上手等特点,游戏开发成本比较低,开发娱乐性强的游戏就成为当前的主要课题,在这种趋势下各种小型的低成本的游戏软件应运而生。其中,系统自带的小游戏也占据了相当重要的地位,非常符合人们娱乐的要求。这些小游戏大都是以益智和娱乐为目的,不仅给紧张工作的人们以放松,还可以让人们的大脑得到开发。本课题就是基于Qt扫雷游戏的设计。1.3 研究意义经过三年的大学学习,我对理论知识已经有了一定的了解与认知,本次的毕业设计便是将书本上所学的理论知识与实际相结合,同时也

5、是对所学知识的一种检查,希望通过本次的毕业设计使自己在程序编写和游戏开发上有新的认识并能有所提高。本次毕业设计既锻炼了我们的实际动手能力,又培养了我们的自信心。在老师的指导下进行了一次模拟实际产品的开发,这对以后工作和学习能力的培养具有重要意义。第2章 Qt简介Qt是一个跨平台的C+图形用户界面应用程序框架。它给应用程序开发者提供建立艺术级图形用户所需的所有功能。它是完全面对对象的,很容易扩展,并且允许真正的组件编程。Qt已经在Windows、Linux和Embbeded Linux上成功的推广。而且Qt是一个开源项目,开发成本比较低,又为开发者提供了免费而又友好的集成开发环境。Qt采用C+语

6、言作为开发语言,使用C+语言开发,其运行效率可以得到保证。2.1 Qt特征引入一种信号和槽机制,可查询和可设计的属性,强大的事件和事件过滤器,根据上下文进行国际化的字符串翻译,完善的时间间隔驱动的计时器使得在一个事件驱动的图形界面程序中很好地集成许多任务成为可能。以一种自然的方式组织对象所有权的分层次和可查询的对象树。2.2 Qt核心编程技术2.2.1 元对象系统Qt元对象系统提供了对象间的通信机制(信号与槽)、运行时类型信息和动态属性系统的支持,是标准的C+的一个扩展,它使Qt能更好地实现GUI图形用户界面编程。Qt的元对象系统不支持C+模板,尽管模板扩展了标准C+的功能,但是对元对象系统提

7、供了模板无法提供的一些特性。Qt的元对象基于三个事实:基类Q_Object:任何想使用元对象系统功能的类必须继承QObject。Q_OBJECT宏:Q_OBJECT宏必须出现在类的私有声明区,已启动元对象的特性。元对象编译器(Meta-Object Compiler,moc):为QObject子类实现元对象特性提供必要的代码实现。编译器moc产生能被标准C+编译器访问的附加C+代码,带有moc预编译器的C+基本上提供了面向对象的灵活性,并保持了C+的执行效率和扩展性。2.2.2 信号和槽机制Qt提供了信号和槽机制来完成界面操作的响应,是完成任意两个Qt对象之间的通信机制。其中,信号会在某个特定

8、的情况或动作下被触发,槽是等同于接受并处理信号的函数。每个Qt对象都包含若干个预定义的信号和若干个预定义的槽,当某一个特定事件发生时,一个信号被发射,与信号相关联的槽则会响应信号完成相应的处理。当一个类被继承时,该类的信号和槽也同时被继承,也可以根据需要自定义信号和槽。常用的连接方式为:connect(Object1,SIGNAL(singal),Object2,SLOT(slot);singal为对象Object1的信号,slot为对象Object2的槽。2.2.3 QObject类QObject是Qt类体系的唯一基类,是Qt各种功能的源头活水,就象MFC中的CObject和Dephi中的T

9、Object。2.2.4 对象树QObject在对象树中组织它们自己。当你以另外一个对象作为父对象来创建一个QObject时,它就被添加到父对象的children()列表中,并且当父对象被删除的时候,它也会被删除。这种机制很好的适合了图形用户界面应用对象的需要。2.2.5 事件事件是由窗口系统或Qt本身对各种事务的反应而产生的。当用户按下、释放一个键或鼠标按钮,一个键盘或鼠标事件被产生;当窗口第一次显示,一个绘图事件产生,从而告知最新的可见窗口需要重绘自身。大多数事件是由于响应用户的动作而产生的,但还有一些,比如定时器等,是由系统独立产生的。2.2.6 QApplication类QApplic

10、ation类和QWidget类都是QObject类的子类。QApplication类负责GUI应用程序的控制流和主要的设置,它包括主事件循环体,负责处理和调度所有来自窗口系统和其他资源的事件,并且处理应用程序的开始、结束以及会话管理,还包括系统和应用程序方面的设置。对于一个应用程序来说,建立此类的对象是必不可少的。2.2.7 QWidget类QWidget类是所有用户接口对象的基类,它继承了QObject类的属性。组件是用户界面的单元组成部分,它接收鼠标、键盘和其它从窗口系统来的事件,并把它自己绘制在盘屏幕上。QWidget类有很多成员函数,但一般不直接使用,而是通过子类继承来使用其函数功能。

11、如,QPushButton、QlistBox等都是它的子类。2.2.8 基本布局(QLayout)Qt提供了QHBoxLayout类、QVBoxLayout类及QGridLayout类等的基本布局管理,分别是水平布局管理、垂直布局管理和网格布局管理。他们之间的继承管理如图2-1所示。图2-1 各种布局类及之间的关系2.3 C+面向对象程序设计面向对象编程是一种计算机编程架构。面向对象的一条基本原则是计算机程序由单个能够起到子程序作用的单元或对象组合而成。面向对象编程达到了软件工程的三个主要目标:重用性、灵活性和扩展性。为了实现整体运算,每个对象都能够接受信息、处理数据和向其他对象发送信息。面向

12、对象程序设计中的概念主要包括:类、对象、数据封装、继承、动态绑定、多态性、数据抽象、消息传递。通过这些概念面向对象的思想得到了具体的体现。类类是具有相同类型的对象的抽象。一个对象所包含的所有数据和代码可以通过类来构造。C+中,class是类声明的关键字,class的后面是要声明的类名。类中的数据和函数都是类的成员,分别称为数据成员和成员函数。类中的关键字public、private和protected声明了类中的成员与类外之间的关系,称为访问权限。其中,对于private成员来说,它们是私有的,不能在类外访问,数据成员只能由类中的函数所使用,成员函数只允许在类中调用;对于public成员来说,

13、它们是公有的,可以在类外访问;而对于protect成员来说,它们是受保护的,具有半公开性质,可在类中或其子类中访问。对象对象是运行的基本实体,它是一个封装了数据和操作这些数据的代码的逻辑实体。作为一种复杂的数据构造类型,类声明后,就可以定义该类的对象。封装封装是将数据和代码捆绑在一起,以避免外界的干扰和不确定性。对象的某些数据和代码可以是私有的,不能被外界访问,以此实现对数据和代码不同级别的访问权限。继承继承是让某个类型的对象获得另一个类型的对象的特征。通过继承可以实现代码的重用:从已存在的类派生出的一个新类将自动具有原来那个类的特性,同时,它还可以拥有自己的新特性:单向性、传递性、可重用性。

14、多态多态是指不同事物具有不同表现形式的能力。多态机制使具有不同内部结构的对象可以共享相同的外部接口,通过这种方式减少代码的复杂度。2.4 Qt程序用到的类本次的设计用QMainWindow作为主窗体。QMainWindow是一个为用户提供主窗口程序的类,可包含一个菜单栏(menu bar)、多个工具栏(tool bar)、一个状态栏(status bar)以及一个中心部件(central widget),是许多应用程序的基础,如文本编辑器、图片编辑器等。2.5 Qt应用程序实现由以上简介可知,Qt是一个创建GUI程序的C+类库,编写Qt应用程序的主要工作是基于已有的Qt类编写用户类。Qt提供了

15、一组范围相当广泛的C+类库,并包含了几种命令行和图形界面的工具,有效地使用这些工具可以加速开发过程。Qt Designer:Qt设计器,用来可视化地设计应用程序界面。Qt Linguist:Qt语言学家,用来翻译应用程序。以此提供对多种语言的支持。Qmake:使用此工具可以由简单的、与平台无关的工程文件来生成编译所需的Makefile。Qt Assistant:关于Qt的帮助文件,类似于MSDN。可以快速地发现你所需要的帮助。moc:元对象编译器。uic:用户界面编译器。在程序编译时被自动调用,通过ui_*.h文件生成应用程序界面。Qt应用程序的设计使用基于工程的方法,并通过.pro文件进行工程管理。实现应用程序的第一步是编写.pro文件,然后使用Qt4自带的qmake工具生成Makefile,最后进行源代码的编译。Qmake的过程如下:qmake project /生成.pro的工程文件qmake /生成Makefilenmake /编译2.6 本章小结随着越来越多的第三方软件公司利用Qt/Embedded开发嵌入式Linux下的应用软件,Qt的应用已

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号