VC++贪食蛇游戏的实现.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
VC贪食蛇游戏的实现

VC++贪食蛇游戏的实现 摘要:贪食蛇作为一款经典易操作的游戏,一直受到人们的青睐。本论文实现了该游戏的基本功能,并增加了保存功能:即用户在任意时刻都可以保存游戏,并在任意时间继续游戏的上次操作。针对游戏特点设计精灵类CSnake和背景类Background,分别封装蛇的各种操作和背景地图的生成与刷新。系统采用双缓冲技术去掉闪烁。系统基于Visual C++ 6.0开发平台,使用面向对象的分析和设计方法。 关键词:贪食蛇游戏;双缓冲;类设计4891 Design of the Snake Game Abstract: Snake is a classic and easy operation game, it is favored by people.The paper realizes the basic functions of the game, and increases storage function: users can save the game at any time, and continue to the last game at any time. The game designs CSnake wizard class and Background class, respectively generate snake various operations and generation and refresh of background map. The system adopts the double buffering technology to remove flicker. The system uses the object-oriented analysis and design method based on Visual C++ 6 development platform. Key Words: Snake Game; Double Buffering; Class Design 目录 摘要1 引言1 1.系统概述2 1.1功能介绍2 1.2开发环境2 1.3需求分析3 2.系统设计3 2.1游戏总体流程3 2.2系统模块划分4 3.详细设计4 3.1 CSnake类的细化4 3.2 BackGround类的细化7 3.3 最终程序效果8 4.系统测试8 4.1测试方案8 4.2测试过程9 5.总结10 1.3需求分析 站在游戏玩家的角度看待软件的需求,系统设计应该具备如下的要求:游戏画面要精美、动作处理要连贯、玩家可以在任意时间暂停和继续游戏、有保存功能,玩家可以在重新开始游戏前,选择上一次保存的游戏。 对于贪食蛇游戏,其功能概要描述如下:游戏开始后,在屏幕上出现一条小蛇,以及一些供蛇吃的水果,这些水果会定时定量的产生,玩家可以通过小键盘上的方向键控制蛇的移动[6]。蛇每吃掉一个水果后其自身长度会自动增加,同时,系统会立刻产生一个安放在随即位置的虫子。当蛇碰到墙壁、吃到虫子或蛇头接触到蛇身的某一部分,游戏就会结束。 2.系统设计 2.1游戏总体流程 该贪食蛇游戏设计可以通过两种方式开始游戏:一种直接开始,另一种是从上次保存的记录开始游戏。游戏开始后,利用方向键控制屏幕上蛇的移动,吃掉随机刷新的水果。蛇在移动过程中不得触碰到墙壁与虫子,否则游戏判输且退出游戏。游戏执行过程流程图如图1所示。 图1 游戏流程图 2.2系统模块划分 系统整体设计分为两个部分:类设计和图像处理。游戏设计中,最重要的就是算法设计和游戏显示[7]。关于方法与算法的实现都封装在类中,游戏的显示所用到的技术是图像处理技术。以下内容分别介绍贪食蛇游戏设计的两个部分。 1)类设计:经过对游戏中可见性物体的分析,贪食蛇游戏设计归结为两个类CSnake类和BackGround类。 (1)Csnake类包含所有对于蛇的操作,比如移动、吃水果和死亡等。该类还封装蛇的结构信息及游戏算法,重点设计蛇的移动。为了使程序占用更少内存且速度更快,需要设计蛇的结构和蛇的移动算法。在速度与内存之间取得一个平衡。 选择方向; 如果方向向上,数组的点集的位置整体前移一位; /*蛇身第一个节点,它的位置是蛇头的位置,应该单独赋值;*/ 利用convertPos(amp;head,head.xx,head.yy-1)函数对蛇头赋值; hellip;hellip; } convertPos()函数实现了坐标的转换。由于是引用传值,会改变对象。这个函数传入的参数是二维表坐标信息,在函数中会根据二维表信息,对相应屏幕坐标信息赋值并保存,这样的好处在于,在游戏代码中可以直接对二维表坐标进行操作,移动只需要加一或者减一,不用考虑实际的

您可能关注的文档

文档评论(0)

ctuorn0371 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档