没有合适的资源?快使用搜索试试~ 我知道了~
基于qt的扫雷游戏的开发与实现.doc
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 46 浏览量
2023-03-26
20:06:05
上传
评论 1
收藏 949KB DOC 举报
温馨提示
试读
28页
基于qt的扫雷游戏的开发与实现.doc
资源推荐
资源详情
资源评论
目录
摘 要....................................................................i
Abstract.................................................................ii
第 1 章 绪论...............................................................1
1.1 研究背景...........................................................1
1.2 开发的目的及意义 ..................................................1
1.3 开发工具的选择.....................................................1
第 2 章 QT 架构与平台搭建 ..................................................2
2.1 QT 介绍............................................................2
2.1.1 QT 语言的特性 ................................................2
2.1.2 QT 的优势 ....................................................2
2.1.3 QT/Embedded 介绍 .............................................3
2.2 QT 的架构..........................................................4
2.3 QT 的组成..........................................................4
2.4 QT 开发平台的搭建..................................................6
2.5 QT SDK 及 QT Creator 工具的安装.....................................6
第 3 章 游戏的总体分析与设计...............................................8
3.1 设计构想 ..........................................................8
3.2 流程规划 ..........................................................8
3.3 画面规划 .........................................................10
第 4 章 游戏的详细设计....................................................11
4.1 游戏的开始 .......................................................11
4.2 雷区分布 .........................................................12
4.3 游戏中主要模块的介绍与使用 .......................................14
4.3.1 鼠标事件 ....................................................14
4.3.2 地雷及雷区表面探测情况 ......................................15
4.3.3 清除未靠近地雷的方块 ........................................16
4.3.4 游戏难度的选择 ..............................................17
4.4 游戏的判断 .......................................................19
4.4.1 游戏成功完成 ................................................19
4.4.2 游戏进行失败................................................21
4.5 重新进行游戏 .....................................................22
4.6 关于游戏 .........................................................23
4.7 英雄榜 ...........................................................24
4.8 游戏测试及结果 ...................................................25
总结.....................................................................26
参考文献.................................................................27
致 谢...................................................................28
外文原文.................................................................29
外文翻译.................................................................42
第 1 章 绪论
扫雷最原始的版本可以追溯到 1973 年一款名为“方块”的游戏。不久之后,“方块”
被改写成了游戏“Rlogic”。在“Rlogic”里,玩家的任务是作为美国海军陆战队队员,
为指挥中心探出一条没有地雷的安全路线,如果路全被地雷堵死就算输。两年后,汤
姆·安德森在“Rlogic”的基础上有编写出了游戏“地雷”,由此奠定了现代扫雷游戏
的雏形。1981 年,微软公司的罗伯特·杜尔和约翰逊两位工程师在 Windows3.1 系统上
加载了该游戏,扫雷游戏才正式在全世界推广开来。
1.1 研究背景
在计算机逐步渗入社会生活各个层面的今天,计算机已经成为人们日常生的一部分,
越来越多的人使用计算机办公、娱乐等等。
扫雷游戏是 Windows 操作系统自带的一款小游戏,在过去的几年里,Windows 操作
系统历经数次换代更新,变得越来越庞大、复杂,功能也越来越强大,但是这款小游戏
依然保持原来的容貌,可见这款小游戏受到越来越多人的喜爱。本次的毕业设计我将利
用 QT 作为开发工具,开发一款类似的“扫雷游戏”。
通过研究 Windows 操作系统自带的扫雷游戏,我们可以发现在这个游戏中主要有以
下两个关键的地方:
第一个是初始化问题,包括随机产生本局游戏中雷的总数,雷的分布对于每一个小
区域如何获取周围地区分布的雷数等等。
第二就是对鼠标事件的处理问题,既在游戏过程中对鼠标事件应如何做出反应。
1.2 开发的目的及意义
经过四年的大学学习,我对理论知识已经有了一定的了解与认知,本次的毕业设计
便是将书本上所学的理论知识与实际相结合,同时也是对所学知识的一种检查,希望通
过本次的毕业设计使自己在程序的开发和设计上有新的认识并能有所提高。本次毕业设
计既锻炼了我们的实际动手能力,又在老师的指导下进行了一次模拟实际产品的开发,
对于我们以后工作能力的培养具有重要意义。
1.3 开发工具的选择
由于毕业设计的选题,开发工具用的是 Qt。
Qt 是一个跨平台的 C++ 图形用户界面库,由挪威 TrollTech 公司出品,目前包
括 Qt, 基于 Framebuffer 的 Qt Embedded,快速开发工具 Qt Designer,国际化工具
Qt Linguist 等 部 分 Qt 支 持 所 有 Unix 系 统 , 当 然 也 包 括 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 公司的一款图形开发产品,它采用完全的面向对象技术来进行图
形应用程序的设计,允许真正的组件编程,Qt 是一个全面的 C++应用程序开发框架,它
包含一个类库,和用于跨平台开发及国际化的工具,可以开发高性能,跨平台客户端,
以及服务器端的应用程序。
Qt 类库是一个拥有超过 400 个 C++类,同时不断扩展的库。它封装了用于端到端
应用程序开发所需要的所有基础结构。优秀的 Qt 应用程序接口包括成熟的对象模型,
内容丰富的集合类,图形用户界面编程与布局设计功能,数据库编程,网络,XML,国
际化,OpenGL 集成等等。
Qt 设计者 是一个功能强大的 GUI 布局与窗体构造器,能够在所有支持平台上,以
本地化的视图外观与认知,快速开发高性能的用户界面。
Qt 语言家 是一套用来消除国际化工作流程中所带来障碍的工具。使用 Qt 语言家,
开发小组可把应用程序的翻译转换外包给非技术性翻译人员,从而可增加精确度,大大
加快本地化处理过程。
Qt 助手 一个完全可自定义,重新分配的帮助文件或文档浏览器,它可与基于 Qt
的应用程序运行。使用 Qt 助手,开发小组同样能够很大程度上加快文档的处理过程。
2.1.2 QT 的优势
作为嵌入式图形界面开发工具,QT 优势很多,有如下一些:
1.支持平台广泛
QT 应用程序接口与工具兼容于所有支持平台,让开发员们掌握一个应用程序接口,
便可执行与平台非相关的应用开发与配置,其支持的平台有:QT/Windows(Windows
XP,2000,NT4,Me/98)、QT/Mac (Mac OS X)、QT/X11(Linux ,Solaris\HP-UX,IRIX,AIX)等。
2.封装多
QT 对不同平台的专门 QPI 进行了专门的封装(文件处理、网络等)。
3.面向对象
QT 具有模块设计和注重软件构件或元素的可重用性的特点。
4.构件支持
QT 提供信号(signal)和插槽(slot)概念,这是一种类型安全的方法,它允许
回调,冰支持对象之间在彼此不知道对方信息的情况下进行合作,这使得 QT 非常适合
于真正的构件编程。
5.友好的联机帮助
QT 提供了大量的联机参考文档,有超文本 HTML 方式,也有 UNIX 帮助手册和补充
说明,并且对于初学者,其中的指南将一步步介绍如何进行 QT 编程。
6.便利性
由于 QT 是一种跨平台的 GUI 工具包,它对编程者隐藏了在处理不同窗口系统时潜
在的问题,QT 定义了一些类来隐藏在不同操作系统上不同处理方式下的细节问题。
7.用户自定义
使用其他的一些工具包经常会遇到这样的一种情况,没有真正适合需求的组件,声
称自定义的组件对用户来说就像一个黑匣子。而在 QT 中生成用户自定义的组件非常简
单,而且易于修改组件的行为。
8.国际化
QT 为本地化应用提供了完全的支持,所有用户界面文本都可以基于消息翻译表被
翻译成各国语言,QT 还支持双字节 16bit 国际字符标准。
9.丰富的 API 函数
QT 为专业应用提供了大量的函数,在 QT 的 API 中含有大约 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/Windows 和 QT/Mac 等不同的版本
下使用相同的 API 编程带来的便利
[5]
。QT/Embedded 与 QT/X11 的 Linux 版本的比较如
下表 2-1 所示。
应用源代码
QT API
QT/X11
QT/XLib
QT/Embedded
X Window Server
Frame-buffer
LINUX 内核
表 2-1 QT/Embedded 与 QT/X11 的 Linux 版本的比较
2.2 QT 的架构
1.窗口系统
一个 QT/Embedded 窗口系统包括了一个或多个进程,其中的一个进程可作为服务器。
这个服务进程会分配客户显示区域,以及产生键盘和鼠标时间。此服务进程还能为已经
运行的客户程序提供用户接口和输入方法。它其实就是一个有某些额外权限的客户进程。
任何程序都可以在命令行上加上“-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++应用程序开发框架。它包含一个类库和用于跨平台开发的国际
化工具。
1.QT 类库
众多的 QT 类库构成 QT 的基础。该库可以利用大约 400 个面向对象的类,这些类带
有大多数构建跨平台服务器与富客户端应用程序的底层基础构造函数。这些库包括用于
GUI、布局、数据库、国际化、网络与 XML 等的类。
剩余27页未读,继续阅读
资源评论
oligaga
- 粉丝: 50
- 资源: 2万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功