QT拼图实验报告.pdf

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
QT拼图实验报告

拼图游戏 1. 文档介绍 本文档主要介绍了一个简单的拼图游戏的开发过程 2. 系统概述 就是一个简单的拼图游戏,将一幅图片随机打散, 然后拼出原图, 很简单, 也没有加入 时间限制,只是一个拼图游戏的核心。 3. 设计约束 本软件是用 Qt 开发出来的, Qt 一个 c++的 gui 类库,可以跨多种操作系统平台。除了 Qt 库,还用到的就是标准的 c 程序库,各个系统中的开发环境也都有。基于这两点,所以 我开发出来的拼图游戏可以跨平台移植而不用修改代码, 直接在目标平台上再重新编译一下 就行了。另外, 我开发的只是一个拼图游戏的核心。有很强的可扩展性,可以根据不同的需 要而加入代码进行定制。 拼图中用到的图像分割和随机打散算法都是比较高效的。 鼠标点击 图像块进行图像的交换,非常易用,对用户来说,非常清晰。 4. 开发与运行环境 操作系统: Windows7 32 位旗舰版 Service Pack 1 处理器: Pentium(R) Dual-Core CPU E6300 @ 2.8GHz 2.8GHz 安装内存 (RAM): 2.00GB 编译器: minGW移植到 windows 下的 gcc 编译器 调试器: minGW移植到 windows 下的 gdb 调试器 Make:minGW中的 mingw32-make Qt C++ GUI 库 软件开发成功后拿到 windowx xp 和其他 windows 7 下运行毫无问题。 5. 软件的总体结构图 图 1 程序总流程图 5.1 随机打散图片 图 2 随机打散图片 5.2 拼图流程 图 3 拼图流程 6. 功能模块设计 对于一个拼图游戏的核心来说, 主要的模块就是图片的随机打散模块和拼图模块。 我将屏幕 窗口分成 9 块,如下图所示: 图 4 屏幕窗口 6.1 图像随机分割 我们将图像也分成和屏幕窗口一样的 9 块,如下图所示: 图 5 图像分割 在 Qt 中,视口是物理坐标系下指定的任意矩形,窗口指的是同一矩形,只不过是逻辑 坐标系下的。 我们先将视口设置成屏幕上的一块, 然后窗口设置成一块大小和一块图像的大 小一样的矩形,我们将一块图像绘制到窗口中,经过窗口 - 视口变换后就绘制到了视口所对 应的屏幕上。 为了实现图像的随机打散, 使用一个全局的映射数组 map[3][3] , map 数组中存放的数字 只能是 0~8 之间的数 ( 包括 0 和 8) 。map[0][0] 对应屏幕的 0 块, map[0][1] 对应屏幕的 1 块, 依次类推, map[3][3] 对应屏幕的 8 块。如果 map[0][0] 里面存放的数是 8 ,那么我们就将图 像的第 8 块绘制到屏幕的第 0 块。如果 map 数组中的数字是随机打乱的,那么我们通过这 个映射数组将图像绘制到屏幕上后,屏幕上将会是打乱的图像。 为了方便代码的重用,我们将 map 数组的随机打乱编写到一个函数

文档评论(0)

ligennv1314 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档