基于ARM9开发板的扫雷游戏设计(4)

2018-11-17 20:06

基于ARM9开发板的扫雷游戏设计 第二章 总体设计思路

扫雷游戏英文名称为mine sweeper,属于益智类游戏。通过鼠标即可操作游戏。游戏特点为操作简单,易于上手。

本章主要介绍扫雷的总体思路设计,包括扫雷游戏设计模块和主要功能,开发平台、开发软件以及开发的环境。

2.1 设计总体思路

本设计分模块设计出扫雷的每一个部分。

第一部分使用Qt软件的VSI(View(视图)、Scene(场景)、Item(道具))图形界面设计出扫雷的基本界面,即打开扫雷游戏出现的界面。然后利用Qt的类库和C++编程把Scene加到View上。

第二部分利用C++的STL完成扫雷底层的数据结构,即一个X行Y列的数据结构,类似于二维数组。-1代表雷,N(0-8)代表周围有N个雷。再利用Qt的类库和C++编程把STL的数据和STL的Item结合起来,实现扫雷的底层数据功能。

第三部分再利用C++的STL创建一个X行Y列的Item,在网上选择好图片,把图片这个道具加场景中,实现扫雷的上层图片功能。把STL数据和Item结合起来,加到场景中。

第四部分用C++编写程序实习扫雷的基本功能。

第五部分再利用QT的兼容性好,把扫雷游戏移植到ARM9开发板上运行测试。如图2-1所示。

STL数 STL 视图及场图VSI图形界PC机上扫移动平台扫 功能程序块 ARM开发图2-1扫雷模块图

4

基于ANM9开发板的扫雷游戏设计 2.2 扫雷游戏主要功能

(1)提示区上侧显示菜单栏,可以选择雷的数目和整个区域的大小。 (2)提示区下面位置按钮用于开局;

(3)单击鼠标左键于未知区域,如果未知区域有雷,游戏结束,显示所有的地雷;如果没有雷,则显示一张数字的图片,代表周围八格的雷数,如果周围没雷,则再查看周围八个区域是否有雷,没雷用递归一直翻开图片。直到有雷为止,并显示周围雷的数目;

(4)单击鼠标右键于未知区域,则显示一个标志,将其标识有雷。在该位置再次单击右键则取消;

(5)将雷全部扫完后,会出现一个提示框,显示游戏胜利。

如图2-2所示。开局为初始化雷数以及区域大小以及重新开始游戏,默认为三行五列,雷数数目为四个。可以单击选项来调整区域的大小和雷的数目。退出为退出游戏。图2-3为已经把雷全部找出来的图片。图2-4为扫雷游戏的总体流程图。

图2-2 扫雷界面的初始化

图2-3 扫雷成功的界面

5

基于ARM9开发板的扫雷游戏设计 开初始化设 左键 是 是否是否 空白 数字 递归 否 是否扫是 成功 是 是否重新开否 结束 图2-4 总体流程图 右键 标志 右键 取消标6

基于ANM9开发板的扫雷游戏设计 2.3 设计的软件

本设计主要用到QT4.0作为开发软件。因为QT4.0具备以下一些优点: (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)丰富的API函数

QT为专业应用提供了大量的函数,在QT的API中含有大约250个C++类,大多数的类都是GUI专有的。 (8)可用户化外观

QT支持主题,基于QT的应用程序能够在Windows外观、Motif外观,以及其他一些用户化主题之间切换。 (9)完整的一套组件工具

QT编程的基本模块称之为组件,组件是用户界面的组成部分,QT含有用来创建专业外观的用户界面所需要的所有组件。

7

基于ARM9开发板的扫雷游戏设计 2.4 设计的环境

本次设计主要用Linux系统作为开发环境,因为Linux具有如下优点: 真正开放的操作系统。

也许,Linux的最大卖点就是它所给与客户的选择性。从硬件到支持再到Linux的发行版,你可以有很多的选择。你可以在一个价值200美元的旧PC机上运行Linux系统,你也可以将它作为一个LPAR(罗辑分区)运行在价值数百万美元的p595 IBM p系列服务器(server网络资源下载)上(你需要在RHEL4 或 SLES9之间作出选择),你甚至能够在IBM主机上运行Linux系统。使用Linux,你不再会与硬件分销商发生冲突。尽管Unix也被定义为一个开放的系统,但现实是,你通常会与一个硬件供应商捆绑在一起。Linux是一个真正的开放系统。

Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。它主要用于基于Intel x86系列CPU的计算机上,也可运用在其他芯片上。

Linux的低成本、强大的定制功能以及良好的移植性能,使得Linux在嵌入式系统方面也得到广泛应用。

由于Linux内核可裁剪,且免费,并且其在世界范围内,有强大的技术支持,所以在得到了飞速发展。

2.5 设计的语言

本次设计主要运用C++编写程序,C++具备如下一些优点:

C++设计成静态类型、和C同样高效且可移植的多用途程序设计语言。 C++设计成直接的和广泛的支持多种程序设计风格(程序化程序设计、资料抽象化、面向对象程序设计、泛型程序设计)。

C++设计成给程序设计者更多的选择,即使可能导致程序设计者选择错误。 C++设计成尽可能与C兼容,籍此提供一个从C到C++的平滑过渡。 C++避免平台限定或没有普遍用途的特性。 C++不使用会带来额外开销的特性。 C++设计成无需复杂的程序设计环境。

C++的很多特性都是以库(如STL)或其他的形式提供的,而没有直接添加

8


基于ARM9开发板的扫雷游戏设计(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2016年电大外国法制史各章试题汇编

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: