基于qt的扫雷游戏设计毕业设计论文内容摘要:
戏产业的规模越来越大 , 开发一款成功的电脑游戏靠个人之力已非易事。 不过 , 随着市场上开发的游戏产品越来越丰富 , 各种题材的游戏越来越多 , 创意已成为一款成功游戏的最重要的特点。 例如目前流行的游戏 “ 植物大战僵尸 ” 、“ 愤怒的小鸟 ”, 虽然都是一些很小的休闲游戏 , 但是因其特有的风格 , 使得它们都 深受人们的喜爱。 本次毕业设计将利用 作为开发工具, 设计了基于 Qt 的扫雷游 戏。 研究原因 扫雷游戏是 Windows 操作系统自带的一款小游戏, 与那些网络游戏和 3D游戏相比,它有编写简单容易上手等特点 , 游戏开发成本 比较低 ,开发娱乐性强的游戏就成为当前的主要课题,在这种趋势下各种小型的低成本的游戏软件应运而生。 其中,系统自带的小游戏也占据了相当重要的地位,非常 符合 人们娱乐 的 要求。 这些小游戏大都是以益智和娱乐为目的,不仅给紧张工作的人们以放松,还可以让人们的大脑得到开发。 本课题就是 基于 Qt 扫雷游戏的设计。 研究意义 经过三年的大学学习,我对理论知识已经有了一定的了解与认知 ,本次的毕业设计便是将书本上所学的理论知识与实际相结合,同时也是对所学知识的一种检查,希望通过本次的毕业设计使自己在程序 编写 和 游戏 开发 上有新的认识并能有所提高。 本次毕业设计既锻炼了我们的实际动手能力, 又培养 了 我们的自信心。 在老师的指导下进行了一次模拟实际产品的开发, 这 对 以后工作 和学习 能力的培养具有重要意义。 基于 Qt 的扫雷游戏设计 2 第 2 章 Qt 简介 Qt 是一个跨平台的 C++图形用户界面应用程序框架。 它给应用程序开发者提供建立艺术级图形用户所需的所有功能。 它是完全面对对象的,很容易扩展,并且允许真正的组件编程。 Qt 已经在 Windows、 Linux 和 Embbeded Linux 上成功的推广。 而且 Qt 是一个开源项目,开发成本比较低,又为 开发者提供了免费而又友好的集成开发环境。 Qt 采用 C++语言作为开发语言 , 使用 C++语言 开发,其运行效率可以得到保证。 Qt 特征 引入一种信号和槽机制,可查询和可设计的属性,强大的事件和事件过滤器,根据上下文进行国际化的字符串翻译,完善的时间间隔驱动的计时器使得在一个事件驱动的图形界面程序中很好地集成许多任务成为可能。 以一种自然的方式组织对象所有权的分层次和可查询的对象树。 Qt 核心编程技术 元对象系统 Qt 元对象系统提供了对象 间的通信机制(信号与槽)、运行时类型信息和动态属性系统的支持,是 标准的 C++的一个扩展,它使 Qt 能更好地实现 GUI 图形用户界面编程。 Qt 的元对象系统不支持 C++模板,尽管模板扩展了标准 C++的功能,但是对元对象系统提供了模板无法提供的一些特性。 Qt 的元对象基于三个事实: ① 基类 Q_Object:任何想使用元对象系统功能的类必须继承 QObject。 ② Q_OBJECT 宏: Q_OBJECT 宏必须出现在类的私有声明区,已启动元对象的特性。 ③ 元对象编译器 (MetaObject Compiler, moc):为 QObject 子类实现元对象特性提供必要的代码实现。 编译器 moc 产生能被标准 C++编译器访问的附加 C++代码,带有 moc 预编译器的 C++基本上提供了面向对象的灵活性,并保持了 C++的执行效率和扩展性。 基于 Qt 的扫雷游戏设计 3 信号和槽 机制 Qt 提供了信号和槽机制来完成界面操作的响应,是完成任意两个 Qt 对象之间的通信机制。 其中,信号会在某个特定的情况或动作下被触发,槽是等同于接受并处理信号的函数。 每个 Qt 对象都包含若干个预定义的信号和若干个预定义的槽,当某一个特定事件发生时,一 个信号被发射,与信号相关联的槽则会响应信号完成相应的处理。 当一个类被继承时,该类的信号和槽也同时被继承,也可以 根据 需要 自定义 信号和槽。 常用的连接方式为: connect(Object1,SIGNAL(singal),Object2,SLOT(slot))。 singal为对象 Object1 的信号, slot 为对象 Object2 的槽。 QObject 类 QObject 是 Qt 类体系的唯一基类 , 是 Qt 各种功能的源头活水,就象 MFC 中的CObject 和 Dephi中的 TObject。 对象树 QObject 在对象树中组织它们自己。 当你以另外一个对象作为父对象来创建一个QObject 时,它就被添加到父对象的 children()列表中,并且当父对象被删除的时候,它也会被删除。 这种机制很好的适合了图形用户界面应用对象的需要。 事件 事件是由窗口系统或 Qt 本身对各种事务的反应而产生的。 当用户按下、释放一个键或鼠标按钮,一个键盘或鼠标事件被产生;当窗口第一次显示,一个绘图事件产生,从而告知最新的可见窗口需要重绘自身。 大多数事件是由于响应用户的动作而产生的,但还有一些,比如定时器等,是由系统独立 产生的。 QApplication 类 QApplication 类和 QWidget 类都是 QObject 类的子类。 QApplication 类负责 GUI应用程序的控制流和主要的设置,它包括主事件循环体,负责处理和调度所有来自窗口系统和其他资源的事件,并且处理应用程序的开始、结束以及会话管理,还包括系基于 Qt 的扫雷游戏设计 4 统和应用程序方面的设置。 对于一个应用程序来说,建立此类的对象是必不可少的。 QWidget 类 QWidget 类是所有用户接口对象的基类,它继承了 QObject 类的属性。 组件是用户界面的单元组成部 分,它接收鼠标、键盘和其它从窗口系统来的事件,并把它自己绘制在盘屏幕上。 QWidget 类有很多成员函数,但一般不直接使用,而是通过子类继承来使用其函数功能。 如, QPushButton、 QlistBox 等都是它的子类。 基本布局 (QLayout) Qt 提供了 QHBoxLayout 类、 QVBoxLayout 类及 QGridLayout 类等的基本布局管理,分别是水平布局管理、垂直布局管理和网格布局管理。 他们之间的继承管理如图21 所示。 Q L a y o u tQ B o x L a y o u tQ G r i d L a y o u tQ H B o x L a y o u tQ V B o x L a y o u t 图 21 各种布局类及之间的关系 C++面向对象程序设计 面向对象编程是一种计算机编程架构。 面向对象的一条基本原则是计算机程序由单个能够起到子程序作用的单元或对象组合而成。 面向对象编程达到了软件工程的三个主要目标:重用性、灵活性和扩展性。 为了实现整体运算,每个对象都能够接受信息、处理数据和向其他对象发送信息。 面向对象程序设计中的概念主要包括:类、对象、数据封装、继承、动态绑定、多态性、数据抽象、消息传递。 通过这些概念面 向对象的思想得到了具体的体现。 ① 类 类是具有相同类型的对象的抽象。 一个对象所包含的所有数据和代码可以通过类来构造。 C++中, class 是类声明的关键字, class 的后面是要声明的类名。 类中的数基于 Qt 的扫雷游戏设计 5 据和函数都是类的成员,分别称为数据成员和成员函数。 类中的关键字 public、 private 和 protected 声明了类中的成员与类外之间的关系,称为访问权限。 其中,对于 private 成员来说,它们是私有的,不能在类外访问,数据成员只能由类中的函数所使用,成员函数只允许在类中调用;对于 public 成员来说,它们是公有的,可以在类外访问;而对于 protect 成员来说,它们是受保护的,具有半公开性质,可在类中或其子类中访问。 ② 对象 对象是运行的基本实体,它是一个封装了数据和操作这些数据的代码的逻辑实体。 作为一种复杂的数据构造类型,类声明后,就可以定义该类的对象。 ③ 封装 封装是将数据和代码捆绑在一起,以避免外界的干扰和不确定性。 对象的某些数据和代码可以是私有的,不能被外界访问,以此实现对数据和代码不同级别的访问权限。 ④ 继承 继承 是 让某个类型的对象获得另一个类型的对象的特征。 通过继承可以实现代码的重用:从已存在的类派生出的一个新类将自动具有原来。基于qt的扫雷游戏设计毕业设计论文
相关推荐
亚器件库 加法器 输入 /输出 操作库 函数库 乘法器 信宿库 在上述 8 个按钮中, 除双击“加法器”和“乘法器”图符按钮可 直接使用外,计算机工程系现代通信课程设计 3 双击其它按钮后会出现相应的对话框,应进一步设置图符块的操作参数。 单击图符库选择区最上边的主库开关按钮 main ,将出现选择库开关按钮 Option 下的用户库( User)、通信库( Comm)、 DSP 库( DSP)
要求 最高分 评 分 优 良 中 合格 不合格 选题 质量及工作量 选题符合专业培养目标;题目难度适中,工作量饱满 , 能达到综合训练的要求;注重结合社会发展、经济建设实际,具 备一定的现实意义。 30 ≥ 27 2426 2123 1820 ≤ 17 文献综述 能独立查阅文献;具有收集、整理各种信息及获取新知识的能力;文献引用、综述与课题密切相关;具备翻译一定量外文资料的能力。 10 ≥ 9
o c k e t ( )b i n d ( )l i s t e na c c e p t ( )r e a dc l o s e ( )w r i t e ( )s o c k e t ( )c o n n e c t ( )w r i t e ( )r e a d ( )c l o s e ( )阻 塞 直 到 接 收 到客 户 连 接 请 求服 务 器 端客 户 端建 立 连 接T C
报 , 1997. [2] 牛皖闽,何立新 .温室控制系统试验装置与系统分析 .齐齐哈尔轻工学院学报 , 1995. [3] Wray , Michelle Lynn。 A fuzzy logic controller for temperature control of a six2zone tube furnace[D]. UNIVERSITY OF LOUISVILLE 2020. [4]
组给主电源充电。 而当选用两个二极管串联时,假设二极管 处于截止状态,此时电压差为 , 二极截止,假设成立。 而当主电源断开时,能提供电压为 6V 减去 2 个二极管的压降为 ,此电压能保证单片机正常工作。 74HC573 的功能 9 图 SL74HC573 跟 LS/AL573 的管脚一样。 器件的输入是和标准 CMOS 输出兼容的;加上拉电阻,他们能和 LS/ALSTTL 输出兼容。
描过程中,还要完成对输入信号的采样和对输出状态的刷新等工作。 PLC 的一个扫描周期必经输入采样、程序执行和输出刷新三个阶段。 PLC 在输入采样阶段:首先以扫描方式按顺序将所有暂存在输入锁存器中的输入端子的通断状态或输入数据读入,并将其写入各对应的输入状态寄存器中,即刷新输入。 随即关闭输入端口,进入程序执行阶段。 PLC 在程序执行阶段:按用户程序 指令存放的先后顺序扫描执行每条指令