《程序设计实训》实验报告_第1页
《程序设计实训》实验报告_第2页
《程序设计实训》实验报告_第3页
《程序设计实训》实验报告_第4页
《程序设计实训》实验报告_第5页
全文预览已结束

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGEPAGE3程序设计实训报告[太空战机(提高篇)]专业班级:装控1404实习时间:2015年7月10日至7月14日实习地点:微401成员1:高大统成员2:刘虹成员3:考勤(10%)文档(30%)创意及实现(30%)视频(30%)总成绩(100%)个人分成员1成员2成员3一一级标题,三号黑体两端对齐一级标题,三号黑体两端对齐,1.5倍行间距,段前后0.5行距。功能1:WASD控制方向功能2:鼠标点击可以改变飞机的位置(创新点)功能3:游戏运行时显示AirPlane结束时显示GAMEOVER功能4:有多种敌方战机,普通飞机1,普通飞机2,bigboss功能5:绿色小球为加血精灵(创新点)功能6:按回车键可以清屏,消灭所有敌方战机(创新点)功能7:添加了背景音乐(创新点)功能8:按下E键可以360度发射子弹,间隔30度(创新点)二、功能设计游戏运行,初试界面出现‘空格开始’的提示,背景出现“AirPlane”字样。玩家按空格开始游戏,敌方战机开始出现,我方战机开始发射普通子弹。游戏开始后,按下WASD键可以控制飞机的移动。用户每点一次鼠标,飞机就会移动到鼠标点击的位置。用户按下E后,发射出环形的导弹。敌方有普通战机1,普通战机2,BigBoss三种,并且设置了绿色的加血精灵。普通战机1,2可以发射普通子弹,BigBoss可以发射导弹。若敌方战机过多,则可以按下ENTER键,消灭所有敌人。使用该功能后,减去我方战机一定的生命值。三、功能实现含每个功能的具体实现,可以用流程图(不要贴代码)等描述。二级标题。序数后空一格写标题,四号黑体,1.5倍行间距。3.二级标题。序数后空一格写标题,四号黑体,1.5倍行间距。(说明:主要写用到的各类型的全局变量、含义)本游戏的所有精灵用了一个双向链表GList来保存。g_iGameState用来表示游戏状态:0--游戏结束等待开始状态;1--按下空格键开始,初始化游戏;2--游戏进行中。g_ControlSprite表示我方控制的战机g_VerTemplate表示敌方控制的战机g_Bullet1Template为子弹的模板 g_BloodTemplate为加血精灵的模板g_BossTemplate为BigBoss的模板g_fScreenLef,g_fScreenRight,g_fScreenTop,g_fScreenBottom为屏幕的四个边界值polar为我方战机发射环形子弹的角度控制变量g_fSpeedLeft,g_fSpeedRight,g_fSpeedTop,g_fSpeedBottom为我方战机速度的控制变量3.2算法描述游戏中所有的精灵都在创建以后由GList_AddSprite函数加入了链表中,在生命值<0的时候被GList_DeleteSprite或者GList_DeleteAllSprite函数删除。游戏状态g_iGameState分为三种状态0,1,2,其中0表示游戏结束状态,1表示游戏初始化,2则表示游戏运行状态。按下空格键后,引擎捕捉到该动作,g_iGameState得值变为1,游戏开始。从游戏fTimeDelta获取时间差,从而创造出敌方战机和子弹。游戏引擎捕捉到两个精灵碰撞,由函数dOnSpriteColSprite及其一系列子函数处理。游戏右下角显示当前玩家的分数和玩家飞机的生命值。当玩家的生命值<0的时候,游戏结束,显示“GAMEOVER”字样。3.2.1玩家战机,敌方战机,加血精灵的初始化InitTemplateData函数创建了所有精灵的模板,GameInit初始化我方战机相关数据,并且播放背景音乐,隐藏“空格开始”图片。函数CreateBullet1创建普通子弹,函数CreateMissile创建导弹,函数CreateVerTick,CreateVerTick2,CreateVerTick3创建敌方战机,函数CreateAddBlood创建加血精灵,以上所有精灵数据均从模板复制。函数VerLoopTick,VerLoopMissile根据fTimeDelta控制发射时间间隔。3.2.2游戏开始和控制游戏还未开始,即游戏状态为0,如果空格按被下,则将游戏状态改为1,此时对程序的数据进行初始化。引擎捕捉到用户按下WASD,E,ENTER键后做出相应的动作。两个精灵碰撞后,根据精灵类型,双方精灵的生命值等属性发生变化,如果HP小于0,从链表中删除该精灵,同时发生爆炸特效。我方战机的颜色随着生命值而改变,低于生命值20%后,变为红色,并且产生喷出火花特效如果按下空格时,剩下的猴子数大于1,游戏状态为2且备选队列中没有需要向前移动的猴子时,则随机选中1个猴子淘汰,并将被淘汰的猴子移动到屏幕下方淘汰者队列。移动完成后,将淘汰猴子的数量标志g_iNumLoseMonkeys加1,备选猴子数keys减1,同时计算出需要移动的猴子数量,并将猴子精灵数组中的猴子均向前移动一位,同位置数组相对应;四、系统界面(说明:不要超过3个图)正文中插图。所有图要写明图号和图题,图号和图题应放在图位下方居中处,正文中插图。所有图要写明图号和图题,图号和图题应放在图位下方居中处,1.5倍行距,五号宋体,外文选用“TimesNewRoman”。图号与

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论