1、 毕 业 论 文 题 目: 基于 ARM9 开发板的扫雷游戏设计 学院: 电气信息学院 专业: 自动化 班级: 0901 学号: 200901020130 学生姓名: 段 志 勤 导师姓名: 万 琴 完成日期: 2013 年 6 月 7 日 毕 业 设 计 题 目: 基于 ARM9 开发板的扫雷游戏设计 学院: 电气信息学院 专业: 自动化 班级: 0901 学号: 200901020130 学生姓名: 段 志 勤 导师姓名: 万 琴 完成日期: 2013 年 6 月 7 日 诚 信 声 明 本人声明: 1、本人所呈交的毕业设计(论文)是在老师指导下进行的研究工作及取得的研究成果; 2、据查证
2、,除了文中特别加以标注和致谢的地方外,毕业设计(论文)中不包含其他人已经公开发表过的研究成果,也不包含为获得其他教育机构的学位而使用过的材料; 3、我承诺,本人提交的毕业设计(论文)中的所有内容均真实、可信。 作者签名: 日期: 年 月 日 毕业设计(论文)任务书 题目: 基于 ARM9 开发板的扫雷游戏设计 姓名 段志勤 系别 电气信息学院 专业 自动化 班级 0901 学号 200901020130 指导老师 万 琴 职称 教研室主任 黄峰、汪超、刘星平 一、基本任务及要求: 以 ARM9 为核心,设计一个移动平台的扫雷游戏。 1.要求实现 PC 机上扫雷的基本功能,点到空白是 递归,点到
3、雷时自动爆炸,并且所有的雷自动爆炸,点到其他图片翻开图片。用 C+对鼠标事件,递归函数的编写。用 QT 的界面完成扫雷游戏的界面。 2.要求把在 PC 机上写好的扫雷游戏移植到 ARM9 开发板上,实现移动设备上的扫雷游戏设计。利用 Linux和 QT 的兼容性移植到到 ARM9 开发板。 二 、 进度安排及完成时间: ( 1) 1 月 14 日至 3 月 4 日:查阅资料为毕业设计做准备。 ( 2) 3 月 5 日至 3 月 15 日: 撰写文献的开题报告。 ( 3) 3 月 18 日至 4 月 1 日: 进行毕业实习,撰写毕业实习报告。 ( 4) 4 月 2 日至 4 月 7 日: 了解课
4、题的基本要求。 ( 5) 4 月 8 日至 4 月 14 日: 进行程序的编写。 ( 6) 4 月 15 日至 4 月 21 日: 对程序改进和修改。 ( 7) 4 月 22 日至 4 月 28 日: 对 ARM9 开发板的移植进行调式。 ( 8) 4 月 29 日至 5 月 12 日: 程序的调试。 ( 9) 5 月 13 日至 5 月 20 日: QT应用的移植。 ( 10) 5 月 21 日至 5 月 24 日: 撰写前言,目录,摘要,绪论。 ( 11) 5 月 25 日至 5 月 28 日: 撰写系统软件设计和程序调试。 ( 12) 5 月 29 日至 6 月 1 日 :撰写系统硬件部
5、分设计和 QT 移植。 ( 13) 6 月 2 日至 6 月 5 日: 撰写参考文献,致谢,附录 。 基于 ANM9 开发板的扫雷游戏设计 目录 摘要 . I Abstract . II 第一章 概述 . 1 1.1 扫雷简介 . 1 1.2 ARM9 简介 . 1 1.3 Linux 系统简介 . 1 1.4 QT 简介 . 2 1.5 C+简介 . 2 1.6 课题研究的背景和意义 . 2 第二章 总体设计思路 . 4 2.1 设计总体思路 . 4 2.2 扫雷游戏主要功能 . 5 2.3 设计的软件 . 7 2.4 设计的环境 . 8 2.5 设计的语言 . 8 2.6 设计的平台 .
6、9 第三章 软件部分设计 . 12 3.1 视图和场景的设计 . 12 3.1.1 视图的设计 . 12 3.1.2 场景的设计 . 13 3.1.3 视图中控件和动作的设计 . 14 3.2 STL 数据的设计 . 16 3.2.1 STL 的设计 . 16 3.2.2 数据的设计 . 18 3.3 STL 图片的设计 . 19 3.3.1 图片的选取和加载 . 19 3.3.2 图片坐标的设计 . 22 3.4 功能程序块的设计 . 23 3.4.1 鼠标事件 . 23 3.4.2 图片交换的设计 . 25 3.4.3 爆炸和递归的设计 . 25 3.4.4 初始化的设计 . 26 第四章
7、 硬件部分的设计 . 27 4.1 硬件介绍 . 27 4.1.1 开发板简介 . 27 4.1.2 CPU 简介 . 28 4.1.3 USB 接口 . 29 4.1.4 电源系统及接口 . 29 4.1.5 复位系统 . 30 3.1.6 FLASH 存储系统 . 30 4.2 开发平台的设计 . 31 4.2.1 交叉编译环境的搭建 . 32 4.2.2 linux 内核配置和编译 . 33 4.3 QT 应用的移植 . 34 第五章 调试与测试 . 36 总结 . 39 参考文献 . 41 附录 扫雷程序及注释 . 42 基于 ARM9 开发板的扫雷游戏设计 I 基于 ARM9 开发板
8、的扫雷游戏设计 摘要: 随着时代的进步,现在已进入移动互联网时代,智能手机,平板电脑等移动设备越来越受到人们的欢迎。移动设备因为其的方便性,移动设备将是未来通信,上网,娱乐的主体。 在人们紧张的工作学习之余,在外出旅游之余, 可以随时随地 拿出移动设备玩一盘游戏 给自己带来欢乐与放松, 也可以放松自己的心情,缓解自己的工作和学习压力。 扫雷是很多操作系统自带的一款小游戏,几乎每个电脑使用者 都接触过这款游戏,并且深爱着这款小游戏。扫雷游戏是非常经典的一款小游戏,实现它的方法很多,可以用 C, C+,VB,JAVA 等很多语言。本设计主要是以 QT 作为开发软件,在 linux 系统中用 C+设
9、计并开发的一款扫雷游戏,最后移植到 ARM9开发板上,以 ARM9 开发板作为测试和运行扫雷游戏,实现移动设备上的扫雷游戏。 本设计的扫雷游戏功能基本上和 window 系统上的相同。利用 QT 软件的良好的图形界面做出扫雷游戏的图形界面,利用 C+的方便和 QT 强大的类库来实现扫雷的基本功能,利用 QT 的兼容性强以及 linux 系统良 好的移植性能来移植到 ARM9 开发板上来实现移动设备上的扫雷游戏。 论文首先介绍了 C+, QT, linux 系统, ARM9 等本设计中用到的东西。然后介绍了总体设计思路,在 linux 系统下以及 QT 软件中用 C+分模块设计出扫雷游戏的每个模
10、块,最后移植到 ARM9 开发板上,实现本次设计。 关键字: 扫雷、 QT、 linux、 ARM9 基于 ANM9 开发板的扫雷游戏设计 II Minesweeping game design of arm9-based development board Abstract: Along with the progress of The Times, and now has entered the era of mobile Internet, smart phones, tablets and other mobile devices more and more get the welco
11、me of people. Mobile devices because of its convenience, mobile devices will be the future communication, the Internet, the main body of entertainment. In the tense work and study, travel, can take out mobile devices anytime and anywhere to play a game to cheer myself and relaxation, can also relax
12、the mood, reduce the pressure on their work and study. Minesweeping is many operating system comes with a small game, almost every computer users are exposed to the game, and deeply in love with this little game. Minesweeping game is a classic game, a lot of ways for it, you can use C, C + +, VB, JA
13、VA, etc. A lot of language. This design mainly is the QT as the development software, a Linux system using c + + design and development of a mine clearance game, finally ported to the ARM9 development board, with ARM9 development board as a test and run the minesweeper, realize minesweeping game on
14、a mobile device. This design of mine clearance game function and window system is basically the same. Using the QT software good graphical interface made minesweeper graphical interface, convenient using c + + and QT powerful class library to realize the basic function of mine, using QT strong compa
15、tibility and good transplantation Linux system performance to transplant to the ARM9 development board up minesweeping game on a mobile device. Paper first introduces the c + +, QT, Linux system, this design used 基于 ANM9 开发板的扫雷游戏设计 III in things such as the ARM9. Then introduces the overall design i
16、deas, using c + + and QT software runs under Linux system module design each module that minesweeper, finally ported to the ARM9 development board, realize the design. Keywords: Minesweeping、 QT、 Linux、 ARM9 基于 ANM9 开发板的扫雷游戏设计 1 第一章 概述 随着计算机与网络的普及 ,人们生活水平的提高 ,移动设备越来越成为人们生活中不可或缺的一部分 ,移动设备可以随身携带,在外出旅游
17、,繁忙的工作之余 ,可以随时随地给人带去欢乐与放松。 1.1 扫雷简介 扫雷最原始的版本可以追溯到 1973 年一款名为“方块”的游戏,不久之后,“方块”被改写成了游戏“ Rlogic”,在“ Rlogic”里,玩家的任务是作为 美国海军陆战队 队员,为指挥中心探出一条没有地雷的安全路线,如果路全被地雷堵死就算输。两年后, 汤姆安德森 在“ Rlogic”的基础上又编写出了游戏“地雷”,由此奠定了现代扫雷游戏的雏形。 1981 年,微软公司的罗伯特杜尔和卡特约翰逊两位工程师在Windows 3.1 系统上加载了该游戏,扫雷游戏才正式在全世界推广开来。 这款游戏的 玩法是在一个 9*9(初级 )
18、, 16*16(中级 ), 16*30(高级 ),或自定义大小的 方块矩阵 中随机布置一定量的地雷 (初级为 10 个,中级为 40个,高级为 99 个 )。由玩家逐个翻开方块,以找出所有地雷为 最终游戏 目标。如果玩家翻开的方块有地雷,则游戏 结束。 扫雷游戏是 Windows 操作系统自带的一款小游戏,在过去的几年里,Windows 操作系统历经数次换代更新,变得越来越庞大、复杂,功能也越来越强大,但是这款小游戏依然保持原来的容貌,可见这款小游戏受到越来越多人的喜爱。本次的毕业设计我将利用 QT 作为开发工具,开发一款类似的“扫雷游戏”,并把扫雷游戏移植到 ARM 开发板上,实现移动设备上的扫雷游戏。 1.2 ARM9 简介 ARM 是 Advanced RISC Machines 的简称, ARM9 系列处理器是英国 ARM 公司设计的主流嵌入式处理器,主要包括 ARM9TDMI 和 ARM9E-S 等系列 , 新一代的 ARM9 处理器,通过全新的设计,采用了更多的晶体管,能够达到两倍以上于 ARM7 处理器的处理能力。这种处理能力的提高是通过增加时钟频率和减少指令执行周期实现的。 1.3 Linux 系统简介 Linux 是一种自由和开放源代码的 类 UNIX 操作系统 。定义 Linux 的组件