基于嵌入式的贪食蛇的设计和实现(2)

2020-06-03 15:23

那么,我们怎么判断蛇头前进的方向呢?这个问题的解决方式是,在定义snake类的同时,定义了一个私有变量Direction为蛇动态前进的方向,而每次Timer()刷新时,动态的根据键盘响应函数来判断前进方向,并同时给Direction赋值,这样每次刷新的同时Direction为四个方向(上、下、左、右)其中的一个方向,蛇头前进的方向在此时已经确定,这样就动态的根据输入的键盘值来改变蛇的前进方向,我们就可以控制蛇的移动啦!

最后,在蛇动态效果显示出来的同时,我们也应该考虑到蛇的生命周期问题,就是蛇在什么情况下会死亡,在什么情况下会得分,在什么情况下会自身长度增加等一系列相关问题。这里我们首先考虑到一个十分重要的问题,就是蛇遇到食物(这里我们用一个蓝色的小矩形表示蛇的食物苹果)同时,将食物吃掉并且动态自身增加一节,这里我们是这样实现的:首先实现的是食物的随机出现,在某个食物被吃掉的同时,我们要立即产生出下一个食物的坐标,我们用到的是一个随机函数产生出下一个食物的坐标,但是这个坐标必须仅仅在0—23之间,因为我们地图采用的是一个24维的二维数组表示的,地图每个横坐标纵坐标的范围是0—23,但是,这里注意一个特别重要的问题,就是每次随机产生的食物坐标不能出现在当前蛇身上,我们必须加一个判断,如果产生的坐标在蛇身上,必须重新生成,一直到产生一个在地图上并且不在蛇身上的食物坐标为止;当蛇头坐标的下一个前进方向的坐标和食物坐标相等时,我们在这里是将食物坐标改变成当前蛇头坐标,并且蛇尾坐标不变,蛇身长度增加一个单位,这样就动态的现实出来蛇吃食物自身增加一个的效果。

生命周期的问题:在我们解决上述功能的同时,我们不得不考虑一个问题,那就是蛇的生命周期问题,就是蛇在身条件下会死亡,死亡的结果会是怎么样,我们在这里做了一个判断,就是蛇遇到地图周围的墙和遇到自己的身体蛇会死亡,生命周期结束,于此同时记录下当前玩家所得的分数,比较分数来判断玩家的能力程度,那么我们怎么判断蛇头撞墙和蛇头撞到自身呢?继承上一个问题的解决方式,蛇身用到的是Cpoint类的一个一维数组表示,地图用到的是一个二维数组表示,当蛇头节点的左边和二维数组边界值相等时,或者蛇头坐标变为蛇自身的坐标时,蛇死亡,生命周期结束,关闭定时器函数Timer(),初始化游戏界面,记录当前分数,重新等待游戏开始。到此为止,贪吃蛇游戏的大概思路就

3

解决了。

1.2系统的硬件构建

硬件环境分析:系统硬件平台采用的是PXA270-S实验开发板,开发板提供了多种CPU内核共大家使用,具体的内核信息详细如下:

X86:支持的处理器包括486、586、Geode、Pentium I/II/III/IV。 ARM:支持的处理器包括ARM720T、ARM920T、ARM1020T、StrongARM、Xscale。 SHx:支持的处理器包括SH-3、SH-3 DSP、SH-4。

MIPS:支持的处理器包括MIPS II/32(带浮点运算)、MIPS II/3(不带浮点运算)、MIPS16、MIPS IV/64(带浮点运算)、MIPS IV/6(不带浮点运算)。

软件环境分析:PC机操作系统Win2000或以上,EVC4.0开发环境,WinCE500标准SDK,PXA270-S平台SDK。

1.3系统的软件组成

PC机操作系统Win2000或以上,EVC4.0开发环境,WinCE500标准SDK,PXA270-S平台SDK。

2.系统的详细设计

2.1 定制winCE内核

2.1.1 winCE内核定制原理以说明

定制winCE内核之前,我们首先要做的准备工作详见下:首先是安装PB工具,我们这里之前已经提及,所以就不再过多叙述。在实际操作中,我们主要有如下的注意事项:

(1)推荐安装在分区根目录下。并且分区需要保持足够大的硬盘空间,一般需要5G以上,PB和运行在PC的WinCE环境需要安装在一个分区内。安装时间通常较长,网络安装的版本同时依赖网络的速度。 以下是微软推荐的最小配置,低于该配置PB工具将不能正常安装或使用;处理器:至少266MHz Pentium II以

4

上;推荐使用500MHz Pentium III以上CPU;操作系统:Windows 2000 SP2以上;Windows XP;内存要求:至少128M;使用模拟器时候至少192M(不包括操作系统本身占用的内存)硬盘:典型安装时,选择一种处理器需至少1.7G空间;若要包含Platform Builder的完整工具组在内需要至少12G的硬盘空间。光驱:可以使用与桌面系统相兼容的CD-ROM或DVD-ROM等。

(2)在安装过程中,会提示选择处理器体系结构,务必选中ARMV4I和XSCALE两项,否则无法支持PXA270处理器。

(3)如果PC上使用的操作系统为Windows XP SP2,可能出现严重安装问题,最好不要采用Windows XP SP2,或者在微软网站上搜索相关的指导文档。安装过程中请关闭系统防火墙。然后需要建立系统最基本的配置。打开PB 5.0,首先导入我们提供的BSP包。导入BSP的过程很简单,只需要安装光盘中提供的up270classic_BSP文件就可以实现,可以由指导教师提前完成。安装完,会发现在系统的\\WINCE500\\Platform\\路径下出现“Up_PXA270cl”文件夹,这个就是安装好的BSP了。之后建立UP-TECH S2410/P270 DVP的WinCE工程,都需要建立在这个BSP的基础上。(类似地,你也可以自己构建系统自带的Mainstone II的工程,但是它不能运行在UP-TECH S2410/P270 DVP实验箱上)。 2.1.2 winCE内核定制

我们在编译winCE内核镜像前,需要添加特性目录(Catalog)的一些组件来定制内核,我们在本系统需要添加以下的组件:

(1)添加鼠标键盘控制驱动; (2)添加USB主控制器驱动;

(3)添加USB从控制器驱动(建立与PC机的Activesyn。连接需要此特性); (4)添加串口驱动; (5)添加触摸屏驱动; (6)添加IE6.0浏览器驱动; (7)添加拨号网络组件驱动; (8)添加Fat文件系统;. (9)加入对HIVE注册表的支持;

5

(10)加入对Mediaplayer播放器;

(11)加入对本地存储器中的mp3和wMA文件播放的支持。 除了上述所需的添加组件外,我们还需要一些另外的组件。

2.2 贪吃蛇游戏详细设计开发

2.2.1 贪吃蛇游戏的可行性分析

通过查找相关文档和技术支持,了解了EVC环境下的开发过程,熟悉了VC++语言的开发技巧,通过以下几个方面,进行可行性分析:

1. 参考《贪吃蛇游戏用户描述文档》、《软件工程》等书,确定自己能够在自己能力范围内开发出这个贪吃蛇游戏项目。

2. 功能要求:在进行整个项目开发之前,必须要做的就是确定贪吃蛇游戏的主要功能,必须明确贪吃蛇游戏的功能,因为要进行游戏功能可行性分析,经过自己的查阅相关资料,确定了贪吃蛇游戏的具体功能,详见后续部分详细设计。

3. 性能需求:必须保证自己开发的贪吃蛇游戏能够整体尽可能做到高效快速,不占用大量的使用资源,因为我做的是一个嵌入式的游戏开发项目,必须要考虑资源使用情况,要求尽可能少用资源,在有限的资源范围内实现最大的可利用价值。

4. 运行环境:PXA270-S开发板,EVC ++4.0开发平台,模拟器上进行调试,经过安装软件,确定可以进行项目程序的编写。

5. 界面要求:采用Windows标准界面,只需要使用键盘和鼠标。

6. 完成期限,一个学期完成整个系统,包括程序的编写,硬件板子的下载,以及最终的调试,测试阶段。

2.2.2 贪吃蛇游戏的需求分析

文档包括了嵌入式技术领域的介绍,嵌入式国内外环境的探索与简介,主要从我国嵌入式领域发展的最新阶段来探讨,与国际对比得出相应发展的前景,同时,针对自身对嵌入式方面的兴趣爱好,以及自己所掌握的有限知识来对嵌入式

6

方面的一些看法等,另外还有winCE环境的简介,以及用法,还有关于嵌入式基于winCE的开发流程的一些相关文档,还有EVC++4.0开发工具的使用方法的介绍,以及游戏的详细代码的功能简介等。

游戏功能:能够实现贪吃蛇自动前线移动,也就是贪吃蛇能够“活动”的外观效果,根据相同的时间间隔,每一次将贪吃蛇自身的蛇头向前移动一个小格子,同时蛇尾向前移动一个小格子,移动方向为贪吃蛇行走的方向。对游戏中规则进行判断,当游戏中的贪吃蛇遇到墙壁和自身时,根据规则判断应为死亡,宣告当前游戏结束,记录当前游戏的分数值。根据每次所得的分数值不同,判断玩家的能力,来显示玩家的效果。贪吃蛇的相关操作,根据键盘上的上、下、左、右四个键来控制贪吃蛇游戏的前进方向,同时,根据空格键来开始游戏,空格键在游戏开始时,还有另外一个功能,那就是暂停游戏功能,这样玩家就可以根据暂停游戏来处理当前需要处理的事情,当游戏结束时,按回车键就可以重新开始游戏的初始化界面。果实的出现,每次贪吃蛇吃到果实时,于此同时,应该出现一个果实在地图中,那么怎么实现这个功能呢?我采用的是随机函数出现果实的横纵坐标,然后判断这个店得坐标是不是在蛇身上,如果是那么就得重现出现上一个过程,直到食物的坐标不在蛇身上为止。这样就出现了果实。游戏分数的统计方法,当贪吃蛇吃到果实时,玩家的分数就应该随着吃到的果实而增加,增加的规则就是贪吃蛇的身体长度乘以等级 得到分数。这样就可以根据游戏的难度对应的得到分数。

7


基于嵌入式的贪食蛇的设计和实现(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:六爻之墓库

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

马上注册会员

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