贪食蛇游戏的设计与实现Word文档格式.docx
- 文档编号:15738100
- 上传时间:2022-11-15
- 格式:DOCX
- 页数:20
- 大小:171.93KB
贪食蛇游戏的设计与实现Word文档格式.docx
《贪食蛇游戏的设计与实现Word文档格式.docx》由会员分享,可在线阅读,更多相关《贪食蛇游戏的设计与实现Word文档格式.docx(20页珍藏版)》请在冰豆网上搜索。
随着计算机的普及,电脑游戏也慢慢融入人们的生活中,成为人们放松心情的一种方式。
贪食蛇作为一款经典且易于操作的游戏,一直受到人们的青睐,在繁忙的工作之余,玩贪食蛇游戏实在是既省钱又有趣味的休闲方式。
此贪食蛇游戏在设计上充分反映了现在流行的游戏的基本功能:
如水果随机产生、键盘控制蛇的移动、毒果随机产生和蛇长度的增加等。
在此基础上特别增加了保存功能。
当用户在游戏中任意时刻都可以保存游戏,在时间合适的时候继续原来的游戏。
在系统设计过程中,使用了面向对象的分析、设计方法。
完全采用软件工程的方法进行需求分析、总体设计、详细设计和测试,本软件系统基于VisualC++6.0开发平台,使用MFC下SingleDocument进行开发。
针对游戏特点,设计了精灵类CSnake和背景类Background,分别封装了蛇的各种操作,和背景地图的生成于刷新。
在设计过程中,采用双缓冲技术去掉闪烁,用背景刷新屏幕会出现闪烁,此时需要创建一个内存设备来存储所有数据,然后打印到屏幕,则不会出现闪烁。
用数组存储蛇的结构体,在特定情况下使用数组更适于游戏的设计。
系统的设计要达到画面流畅、美观大方,游戏有趣耐玩。
关键词:
游戏,贪食蛇,双缓冲,类设计
前言
人类已经跨入了二十二世纪,正在进入信息时代。
计算机技术和通讯技术的发展和应用及,促进了社会的高速发展,同时也改变着人们的工作、学习、生活和娱乐的方式以及思想观念。
随着计算机的日益普及,工作的生活节奏的加快,休闲小游戏越来越受到人们的青睐,尤其贪食蛇类的经典游戏在人类的生活娱乐中占有一席之地,随着计算机技术的成熟,各种各样的贪食蛇游戏也流传在网路中,人们可以方便的体验别样风格的贪食蛇。
贪食蛇游戏设计基于VC++6.0/MFC中单文档模式。
MFC框架定义了应用程序的轮廓,并提供了用户接口的标准实现方法,使得游戏的开发更加方便快捷。
在设计开发贪食蛇游戏小游戏的过程中,主要研究和实现解决以下几方面问题:
(1)蛇长度的增加:
当蛇吃到一个水果后,蛇的长度加一,对应于程序中的存储空间也会增加。
(2)水果和毒果产生的时间及数量的控制:
当水果被吃掉后,要从主程序界面上消失。
(3)游戏结束的判定:
当蛇的头部和身体或者墙壁碰撞的时候,游戏结束。
(4)游戏保存:
游戏中可以随时保存,再次打开游戏可以读取保存过的记录。
保存的时候,需要把蛇和水果毒果的相关信息都保存到文件。
保存需要使用VC++提供的文件操作功能。
系统概述
§
1.1系统功能介绍
在计算机普及的今天,电脑游戏已经成为一种休闲娱乐的很好方式。
而贪食蛇游戏凭借操作简单、有趣赢得人们的青睐。
关于贪食蛇游戏的起源还有一段历史。
蛇引诱夏娃吃了苹果之后,就被贬为毒虫,阴险的象征。
而蛇吃东西是整只动物吞进去的,大概在文艺复兴的时候就有人发明的一种游戏,是现在贪食蛇的前身。
后来慢慢的发展就变成了今天的贪食蛇了。
贪食蛇是一款经典游戏,游戏设计先要在屏幕上生成一只蛇,并且蛇是可以移动的。
通过键盘上的方向键来控制蛇的移动。
这是贪食蛇最今本的功能。
屏幕为蛇提供了移动的场所,也为蛇提供了可以吃的水果。
游戏玩家通过控制蛇的移动吃掉屏幕上的水果。
吃掉水果蛇的身体会加长,同时获得相应的分数。
为了给游戏增加难度,在蛇吃掉水果的同时会在屏幕上任意没有物体存在的地方刷新出一个虫子。
如果蛇触碰到虫子或者墙壁,游戏结束。
虫子刷新的位置是任意的。
有几率刷新在蛇的正前方,游戏玩家要随时注意不要碰到虫子。
在游戏中,如果有其他重要事情要做,可以先保存游戏。
等待以后有时间时,在从记录中读出上次保存的记录,继续游戏。
保存功能可以在一定程度上方便游戏玩家。
1.2系统开发环境
系统开发环境的选择不仅要考虑系统开发的需求,而且还要考虑用户的实际运行环境。
本系统开发平台采用WindowsXPProfessional,WindowsXPProfessional是美国微软公司纯32位客户机平台,适合对系统要求较高、运算量较大的应用软件运行。
而用户环境可以在起他平台上。
开发软件本系统选用VisualC++6.0/MFC作为系统开发工具。
开发系统底层的东西,需要极好的兼容性和稳定性,第一选择是visualc++。
同时Visualc++是开发Windows应用程序的主流开发工具,可以利用的资源多。
VisualC++不仅仅是一个编译器。
它是一个全面的应用程序开发环境,使用它你充分利用具有面向对象特性的C++来开发出专业级的Windows应用程序。
VisualC++作为一种程序设计语言,它同时也是一个集成开发工具,提供了软件代码自动生成和可视化的资源编辑功能。
在使用VisualC++开发应用程序的过程中,系统为我们生成了大量的各种类型的文件。
VisualC++采用的框架是MFC。
MFC不仅仅是人们通常理解的一个类库。
你如果选择了MFC,也就选择了一种程序结构,一种编程风格。
MFC是一个很大的、扩展了的C++类层次结构,它能使开发Windows应用程序变得更加容易。
MFC是在整个Windows家族中都是兼容的,也就是说,无论是Windows3.x、Windows95还是WindowsNT,所使用的MFC是兼容的。
每当新的Windows版本出现时,MFC也会得到修改以便使旧的编译器和代码能在新的系统中工作。
MFC也回得到扩展,添加新的特性、变得更加容易建立应用程序。
使用MFC的最大优点是它为你做了所有最难做的事。
MFC中包含了上成千上万行正确、优化和功能强大的Windows代码。
你所调用的很多成员函数完成了你自己可能很难完成的工作。
从这点上将,MFC极大地加快了你的程序开发速度
由于MFC编程方法充分利用了面向对象技术的优点,它使得我们编程时极少需要关心对象方法的实现细节,同时类库中的各种对象的强大功能足以完成我们程序中的绝大部分所需功能,这使得应用程序中程序员所需要编写的代码大为减少,有力地保证了程序的良好的可调试性。
最后要指出的是MFC类库在提供的对象的各种属性和方法都是经过谨慎的编写和严格的测试,可靠性很高,这就保证了使用MFC类库不会影响程序的可靠性和正确性。
在系统开发过程中,不仅用到了MFC编程技术,还用到了GDI编程。
GDI中画笔对象能与用于提供绘制方法的图形对象分开创建于维护,Graphics绘图方法直接将Pen对象作为自己的参数,从而避免了在GDI使用SelectObject进行繁琐的切换,类似的还有Brush、Path、Image和Font等。
GDI绘图操作中总存在一个被称为"
当前位置"
的特殊位置。
每次画线都是以此当前位置为起始点,画线操作结束之后,直线的结束点位置又成为了当前位置。
设置当前位置的理由是为了提高画线操作的效率,因为在一些场合下,总是一条直线连着另一条直线,首尾相接。
有了当前位置的自动更新,就可避免每次画线时都要给出两点的坐标。
GDI总是让形状轮廓绘制和填充使用同一个绘图函数,例如Rectangle。
轮廓绘制需要一个画笔,而填充一个区域需要一个画刷。
也就是说,不管我们是否需要填充所绘制的形状,我们都需要指定一个画刷,否则GDI采用默认的画刷进行填充。
GDI提供了许多区域创建函数,如:
CreateRectRgn和CreatePolyPolygonRgn等。
诚然,这些函数给我们带来了许多方便。
第2章
需求分析
2.1需求分析
需求分析是指对要解决的问题进行详细的分析,弄清楚问题的要求,包括需要输入什么数据,要得到什么结果,最后应输出什么。
可以说,“需求分析”就是确定要计算机“做什么”。
在软件工程中,需求分析指的是在建立一个新的或改变一个现存的电脑系统时描写新系统的目的、范围、定义和功能时所要做的所有的工作。
需求分析是软件工程中的一个关键过程。
在这个过程中,系统分析员和软件工程师确定顾客的需要。
只有在确定了这些需要后他们才能够分析和寻求新系统的解决方法。
在软件工程的历史中,很长时间里人们一直认为需求分析是整个软件工程中最简单的一个步骤,但在过去十年中越来越多的人认识到它是整个过程中最关键的一个过程。
假如在需求分析时分析者们未能正确地认识到顾客的需要的话,那么最后的软件实际上不可能达到顾客的需要,或者软件无法在规定的时间里完工。
2.2国内外同类设计概况
贪食蛇是一款经典的游戏,网络中存在各种各样贪食蛇的版本,对于其中有特色的几款分别进行介绍。
(1)经典贪食蛇:
这款游戏的独特之处在于控制,大多数的贪食蛇游戏都是用键盘控制蛇的移动,而这款游戏是用鼠标的位置来控制蛇的移动方向,游戏根据鼠标当前的位置,来判断蛇的下一步的方向。
用鼠标控制方向更加灵活,也更加易于操作。
这款游戏,可以选择蛇的样子,这样可以令游戏着在游戏中获得一个更好的视觉感受。
另外各式各样的关卡也是这款游戏的一大特色。
在第一关,是没有任何障碍物的。
当分数打倒一定数值,进入第二关。
此后开始出现障碍物,如果蛇与障碍物相撞,则游戏结束,这样既增加了游戏的难度,也曾加了游戏的乐趣。
该游戏的不足在于当游戏速度设置最高时,蛇吃到水果会有明显的停顿,致使游戏不流畅。
用鼠标操作带来的问题是,当鼠标停留在一点时,蛇头会于蛇身相撞。
(2)双人贪食蛇:
该游戏的最大优点,是增加了双人对战功能,把一个单机的小游戏变成可以对战的游戏。
两个人分别控制屏幕上的两条蛇,抢一个水果。
初始有一个数值标记。
当一方的蛇撞到墙或者另一方的蛇身则数值标记减一,当标记到0时,判输。
这样的设计增加游戏的竞技性。
(3)森林贪食蛇:
这款游戏画面精美,蛇移动的方向用左右键控制,水果的图像是青蛙,其中深绿的代表加速,如果贪食蛇吃到深绿色的水果,贪食蛇的速度变成最快。
2.3游戏贪食蛇的需求分析
对于贪食蛇游戏,其概要功能描述如下:
游戏开始后在屏幕出现一条小蛇,以及一些供蛇吃的水果,这些水果会定时定量的产生,玩家可以通过小键盘上的方向功能键控制蛇的移动。
蛇每吃掉一个水果后其自身长度会自动增加,于此同时,系统会立刻产生一个安放在随即位置的虫子。
当蛇碰到墙壁,蛇迟到毒果或蛇头接触到蛇身的某一部分,游戏结束。
站在玩家的角度看待软件的需求,本设计应该具备如下的要求。
游戏画面要精美,动作处理连贯。
要有暂停功能,玩家可以在任意时间暂停,任意时间继续游戏。
要有保存功能,玩家可以在重新开始游戏前,选择上一次保存的游戏。
在性能方面,程序能在绝大多数的平台(Windows2000或者WindowsXP)上运行。
贪食蛇游戏设计具体需求:
(1)蛇设计的具体需求:
在贪食蛇游戏中,蛇是游戏中最重要的部分。
首先蛇是要可以移动的。
打印在屏幕上的蛇需要在玩家的控制下可以向不同方向移动。
在蛇的移动过程中要求画面不可以出现闪烁,流畅的画面是游戏设计必须具备的。
其次,蛇身可以增长。
蛇的结构是由一个一个点有序排列起来。
蛇在吃到水果的时候蛇的身体可以加长。
再次,蛇可以死亡。
当蛇触碰到墙壁或者虫子的时候,蛇死亡,游戏结束。
(2)墙的绘制:
蛇的移动在制定游戏区域内部,在外部就是游戏中的墙。
墙需要由一张像素小的位图填充在墙的区域。
(3)背景的设计:
游戏设计的优劣,受背景选择的影响。
一个好的背景可以使游戏增添色彩。
背景色彩应该选用浅色,暗淡一些的颜色。
(4)游戏中动画:
游戏中适当增加一些动画,例如,屏幕刷新的虫子可以闪烁。
第3章
总体设计
3.1系统设计
系统设计是把需求转化为软件系统的最
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 贪食 游戏 设计 实现
![提示](https://static.bdocx.com/images/bang_tan.gif)