大鱼吃小鱼实训指南

大鱼吃小鱼实训指南

ID:39982495

大小:745.50 KB

页数:18页

时间:2019-07-16

大鱼吃小鱼实训指南_第1页
大鱼吃小鱼实训指南_第2页
大鱼吃小鱼实训指南_第3页
大鱼吃小鱼实训指南_第4页
大鱼吃小鱼实训指南_第5页
资源描述:

《大鱼吃小鱼实训指南》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、大鱼吃小鱼实训指南游戏规则1.按下空格键游戏开始。2.通过WSAD键控制玩家鱼上下左右移动,但不能游出边境。3.克隆出多条鱼放在容器当中。4.克隆出来的容器中的鱼从右向左移动,不同的鱼游动的速度不同。5.当玩家鱼碰撞到了容器中的鱼,删除容器中的鱼,并增加玩家鱼的得分。6.当容器中鱼没有被吃到,而是撞到了左边世界边界,则从玩家鱼的分数中减去该鱼的价值,当玩家鱼的分数被减为负值,游戏结束。实验准备打开FunCode,创建一个新的C++项目。注意:项目名称必须为英文和数字,且不能有空格。点击“项目”→“导入地图模板”

2、,从对话框中选取名称为FishEatFish的模板导入。导入成功后,界面如下:查看模板设置。模板设置中有如下几点,在项目开发时需要用到:精灵的名称,创建精灵对象时,通过精灵名称把对象和精灵图片绑定在一起。点击“启动VC工程”,将VC打开:类的设计游戏中能直接看到的精灵:玩家鱼、电脑鱼、玩家得分文本、玩家等级文本。其中,玩家得分和玩家等级只需要显示分数,可以直接使用CTextSprite类。玩家鱼、电脑鱼创建相应的类。可以从玩家鱼和电脑鱼抽象出一个鱼类,作为父类。鱼类继承CSprite类,通过CSprite类的方

3、法操作精灵。创建一个游戏类,各个类之间的通信在游戏世界类中进行。本游戏是大鱼吃小鱼,该类称为鱼游戏类。创建一个精灵工厂类,用来生成各种精灵类的对象。这就是“工厂模式”。游戏流程主流程游戏分四个状态:未开始、开始、运行和结束。CGameMain类是控制游戏流程的类,游戏屏幕每刷新一次,调用一次该类的GameMainLoop方法。GameMainLoop根据m_iGameState的值分别调用该类的GameInit、GameRun和GameEnd方法。这三个方法对应初始化游戏、游戏运行和游戏结束这三个状态。Game

4、Init只执行一次。执行后修改游戏状态。屏幕刷新后,进入状态2,开始执行GameRun方法。当玩家积分>=0即玩家鱼不死的时候,GameRun一直被执行。玩家鱼死亡后,调用GameEnd执行一次,清除本局游戏数据,恢复游戏未开始状态。游戏初始化完成游戏初始工作,界面上的工作:玩家积分和等级显示为0,创建玩家鱼并放置在指定位置,并且把玩家鱼对象加入到FishesWorld对象中。游戏运行游戏运行中,每刷新一次屏幕,需要根据最新数据,更新玩家得分和等级,移动玩家鱼,删除被吃掉的电脑鱼,当达到相应的时间间隔时,创建新

5、的电脑鱼。游戏结束将游戏中剩余的精灵删除,包括删除精灵本身和集合中对应的对象。重新显示游戏开始的提示图片。生产精灵对象本游戏中的玩家鱼、电脑鱼这两种精灵类的对象都在精灵工厂类中产生。根据参数确定生产何种精灵。右下图是玩家飞机的生产过程,主要是创建对象,复制模板,并设置几个基本属性(碰撞、世界边界、初始位置、初始速度)。键盘按下事件本游戏中,游戏状态为0时,按下空格键,游戏状态转为1。游戏状态为2时,玩家按下了WSAD键,分别设置玩家鱼的上下左右速度。键盘弹起事件本游戏中,游戏状态为2时,玩家松开WSAD键,设置

6、玩家飞机对应方向上的速度为0。精灵与精灵的碰撞本游戏中,玩家鱼设置为发送碰撞,电脑鱼设置为接收碰撞。精灵碰撞时,如果电脑鱼等级比玩家鱼高,则玩家鱼减少积分,反之,玩家鱼增加积分。世界边界碰撞事件本游戏中,游戏状态为2时,玩家鱼碰到边界停止继续游动。电脑鱼碰到边界,设置该鱼的生命值hp为0。获得该鱼的价值,从玩家鱼当前的得分中减去该值。实验任务任务一完成类的定义根据下方表格,完成以下各个类的定义。其中,set和get方法在当前任务中实现,其他方法的实现留到后面完成。鱼类:Fish继承自CSprite类属性priv

7、ateintiHp鱼的生命值privateintiGrade鱼的等级privateintiDir鱼的方向privatefloatfSpeedX鱼X轴方向移动速度privatefloatfSpeedY鱼Y轴方向移动速度privatefloatfPointX鱼X轴方向上的位置privatefloatfPointY鱼Y轴方向上的位置方法publicintgetHp()获得鱼的生命值publicvoidsetHp(constintHp)设置鱼的生命值publicintgetGrade()获取鱼的等级publicvoid

8、setGrade(constintgrade)根据参数设置鱼的等级publicfloatgetMoveSpeedX()获得鱼X轴方向上速度publicvoidsetMoveSpeedX(floatspeedX)设置鱼X轴方向上速度publicfloatgetMoveSpeedY()获得鱼Y轴方向上速度publicvoidsetMoveSpeedY(floatspeedY)设置鱼Y轴方向

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

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

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