太空战机实验报告

太空战机实验报告

ID:9610697

大小:769.50 KB

页数:56页

时间:2018-05-03

太空战机实验报告_第1页
太空战机实验报告_第2页
太空战机实验报告_第3页
太空战机实验报告_第4页
太空战机实验报告_第5页
太空战机实验报告_第6页
太空战机实验报告_第7页
太空战机实验报告_第8页
太空战机实验报告_第9页
太空战机实验报告_第10页
资源描述:

《太空战机实验报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、太空战机实验报告1.实验截图图一开始游戏图二我方战机,敌方战机出现。敌方战机随机发射子弹,并上下浮动。背景音乐响起。图三射杀战机,积分增加。敌机与子弹碰撞,消失。图四被敌机射杀,血量减少为02.游戏功能游戏规则1.按下空格键游戏开始。2.通过WSAD键控制玩家飞机移动上下左右移动,但不能飞出边境。3.当玩家按下空格键时,玩家飞机发射子弹。4.玩家飞机被敌机碰到后,生命值会减少,生命值变为0的时候,游戏结束。5.在游戏右方会一直出现电脑飞机(敌机),敌机分为超大、大、中、小四种类型,越大的飞机出现的几率越小。1.敌机被玩家

2、飞机击中后,生命值会减少,生命值变为0时,该敌机被摧毁,玩家得分。越大的飞机越难击毁,击毁后玩家得分也越多。2.敌机飞到界面左方时,删除敌机。3.敌方飞机的子弹分为两种,一种为普通子弹,另一种子弹为高级子弹,当敌方飞机的普通子弹与玩家飞机的子弹碰撞时相互抵消,敌方飞机的高级子弹不会与玩家飞机的子弹抵消4.在界面外用一个文本显示玩家游戏得分。3.流程图4.数据结构创建5个继承类:我方战机类CMyFighter、子弹类CBullet、敌方战机类CEnemyFighter类、链表类CSpriteList、精灵父类CGameSp

3、rite。1.我方战机类CMyFighter:m_fVelocityLeft;//控制飞机飞行的速度上下左右。m_fVelocityRight;m_fVelocityUp;m_fVelocityDown;m_fBulletCreateTime;//表示子弹的发射间隔.m_bCanFire;//表示判断是否开火2.子弹类CBullet:m_iType;//表示该子弹是谁发射的变量3.敌方战机类CEnemyFighter:m_fCreateTime;//创建敌机的时间见隔m_iCreatedSpriteCount;//表示创

4、建战机数量m_fCanFireAfterCreated;//判断敌机创建后能否开火m_fBulletCreateTime;//子弹发射时间间隔m_fFloatTime;//战机飞行时上下浮动的时间间隔m_bFloatUp;//战机飞行时是上浮还是下浮4.链表类CSpriteList:structSpriteStruct//一个精灵结构体SpriteStruct;{CSprite*pSprite;SpriteStruct*pNext;SpriteStruct*pPrev;};SpriteStruct*m_pListHead

5、er;//一个头节点指针intm_iListSize;//表示链表节点数的私有成员变量CSprite*m_pSpriteList;//精灵指针5.精灵父类CGameSprite:virtual~CGameSprite();//get方法6.lessen.x类:m_iGameState;//游戏状态0:结束或者等待开始1:初始化2游戏进行中.CSprite*m_pGameBegin;//游戏开始文字精灵CMyFighter*m_pMyFighter;//战机类指针floatm_iCreatedSpriteCount;//创

6、造精灵数量CSpriteListm_SpriteList;//链表类精灵CSpriteListdiji;//链表类敌机CEffect*die_texiao;//特效类精灵5.算法描述在外星球上,玩家通过键盘WSAD键控制己方战机,通过空格键发射子弹消灭外星球的邪恶战机。游戏状态m_iGameState分为三种状态0,1,2,其中0表示游戏结束状态,1表示游戏初始化,2则表示游戏运行状态;0à1的转换为“空格开始”,初始化函数为GameInit函数;播放背景音乐。1à2的转换自然发生,即游戏初始化函数后会自动将游戏状态从1

7、置为22表示游戏运行状态,在该状态,敲击空格发射子弹消灭敌机,消灭敌机分数增加,被敌机打中自身的血量减少。2à0的转换是游戏结束。CGameMain::CGameMain()构造函数完成初始化工作初始化状态为0设置开始按钮我方战机初始化为空创造精灵数量初始化为0CGameMain::GameMainLoop(floatfDeltaTime)游戏的主循环,根据游戏的状态切换逻辑1、当当游戏状态为0时,主循环一直循环,但不做处理,而是等待空格键按下,开始游戏。调用背景音乐。2、当游戏状态为1时,调用GameInit()方法初

8、始化游戏,然后置游戏状态为2。当游戏状态为2时,调用GameRun(fDeltaTime)方法,在CGameMain类的GameRun方法中,遍历链接中的每个节点,获得所有敌方战机的节点,让战机执行LoopTick方法,实现战机发射子弹和上下浮动。3、游戏结束时会执行GameEnd且置状态为0。CGameMain::

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。