毕业设计产品说明.ppt

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
坦克类 坦克类和奖子类是有子画面类派生的。坦克类的特点是,它由两个动态画面组成,所以它不但要添加开炮算法,还需要重写一些虚函数。它们分别是:绘图函数,更新函数,更新炮口函数。 当游戏引擎更新子画面时会可以用Sprite* 类型的指针调用坦克类的更新函数。 virtual void Draw(HDC hDC); virtual SPRITEACTION Update(); 添加敌方坦克是按照所得分数计算出现的概率。而我方坦克的边界动作为环绕型可以使的玩家的操作更具变化和创意。敌人坦克有三种边界运动方式。从而也增加了游戏的难度。 炮弹的运动速度,比坦克运行速度稍快,这是为了,使玩家可以躲闪炮弹,这样玩家的可操作性可以大大加强。 开始与结束 总结 这次程序设计是我做的最大的一次,也是最为艰难的。一个主要的原因就是前期设计不够完善,导致许多后期设计比较紊乱。现在可是深刻的体会到了软件工程的学问了,编码只是一小部分而已。 LOGO LOGO 铁甲风云1.0 设计与实现 指导教师: 张德干 学 生: 张仕文 日 期:2010年6月6日 LOGO 选题原因 大学期间做过图书馆管理程序等简单的数据库管理系统的课程设计,思想大致相似,变化范围有限,没有太多自己可发挥的余地。大家作品的最终结果都离不开同一个模式。相比一些数据库软件,游戏的设计有很多人情色彩和艺术思想的发挥,正式商业的软件的人性化界面和各个游戏间迥异的结构每每会让人有去开发的冲动。 工具选择:Visual Studio 2005 Photo Shop CS4 游戏运行方式 暂停状态 (Destroyed) 停止状态 (Game End) 运行状态 (Active) Active() DestroyApp() 游戏启动 Destroy() Game End() 整体游戏流程 LOGO 开发环境 6 3 4 5 4 6 6 6 第一象限轨迹示意 6 0 3.732-XX 15-0 5 3 1-3.732 45-15 3 5 0.268-1 75-45 0 6 0-0.268 90-75 第 4 象 限 0 6 0.268-0 105-90 3 5 1-0.268 135-105 5 3 3.732-1 165-135 6 0 3.732-XX 180--165 第 3 象 限 6 0 3.732-XX 165-180 5 3 1-3.732 135-165 3 5 0.268-1 105-135 0 6 0-0.268 90-105 第 2 象 限 0 6 0.268-0 75-90 3 5 1-0.268 45-75 5 3 3.732-1 15-45 -6 0 XX-3.732 0-15 第 1 象 限 速度Y 速度X tan范围   方向 表4.3:炮弹方向表 炮弹方向示意图 首先计算出12各区域的中分线速度,然后计算属于哪一个范围。 初始化速度,穿件跑单子画面。 炮口旋转函数示意图 X Y 原点 y x 炮口 方向示意图 先由y/x得出tan值,然后将360度划分为12部分,分别计算出tan范围。 然后判断属于哪一个范围,再从对应表中得出应当用图片的第几帧。 LOGO 碰撞测试 由于坦克的形状是不规则的。所以在计算碰撞矩形的时候,不使用他的位置矩形,而是在图片举行的基础上计算碰撞矩形。计算方法为:矩形的每一条边都向中心移动十二分之一。 在游戏循环中,更每一个子画面的时候,会测试子画面是否发生碰撞,碰撞后调用相应的函数 。但是在此游戏周期中不会进行,爆炸处理,只是在子画面的相应属性上表示出,等在进行下一个循环的更新此子画面的时候在进行相应的处理。 开始 Game cycle() GameEngine::UpdateSprites() GameEngine::CheckSpriteCollision SpriteCollision() Sprite::TestCollision 结束 图4.4:碰撞系统 saSpriteAction SpriteDying(*siSprite) 创建爆炸画面 GameEngine::UpdateSprites(){…delete(siSprite) } 游戏可以在 XP WIN7 上无任何环境配置运行,并且系统资源占用少,启动速度快。 游戏中 炮弹的速度相对较慢,目的是为了让玩可以有操作的

文档评论(0)

wuyoujun92 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档