ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:1.86MB ,
资源ID:14866054      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/14866054.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C++语言课程设计一拍飞虫Word下载.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C++语言课程设计一拍飞虫Word下载.docx

1、步骤二、导入KillFeiChong模板。【实验思路】按实验指导完成。1、打开FunCode,点击“项目”菜单,选择“创建C+工程”注意:工程名名称要求字母开头,只能包含字母和数字,且名字中间不能有空格。2、点击菜单“项目”中的“导入地图模块”,如图一。跳出一个对话框,选中“KillFeiChong”模板,点击“导入到工程”按钮,如图二。 图 一 图 二3、导入成功后的,界面如下图所示:实验二移动拍子【实验内容】步骤一、单击空格键开始游戏步骤二、初始化游戏数据步骤三、移动拍子 获取系统响应键盘按下的消息函数的数据,如果是空格键则进入游戏界面,初始化游戏数据。同时获取鼠标的坐标,设置为拍子精灵的

2、坐标。【实验指导】1、进入LessonX.h中,添加如下的成员变量声明: CSprite* m_pPaizi; /拍子精灵 CSprite* m_pKaishi; /空格开始精灵 float m_fGameTime ; / 本局游戏剩余时间 CTextSprite* m_pTime; /显示时间文字编辑精灵 CTextSprite* m_pScore; /显示分数文件编辑精灵 float m_fPosX; /拍子精灵的x坐标 float m_fPosY; /拍子精灵的y坐标 int m_iGameScore ; / 本局游戏当前积分值2、进入LessonX.cpp中添加以上变量的初始化代码:1

3、)在构造函数中添加如下代码:m_fGameTime =0.f;m_iGameScore = 0;m_fPosX =0.f;m_fPosY =0.f;m_pKaishi =new CSprite(kaishi);m_pPaizi =new CSprite(paizim_pTime =new CTextSprite(Timem_pScore =new CTextSprite(Score2)在GameInit中获取拍子的初始位置: m_fPosX=m_pPaizi-GetSpritePositionX(); m_fPosY=m_pPaizi-GetSpritePositionY();3、要实现单击空

4、格键进入游戏,就需要添加一个自定义函数处理系统键盘按下事件中得到的数据。1)进入LessonX.h中添加自定义函数OnKeyDown的声明: void OnKeyDown( const int iKey, const int bAltPress, const int bShiftPress, const int bCtrlPress );2)进入LessonX.cpp中添加该函数的定义代码:void CGameMain:OnKeyDown( const int iKey, const int bAltPress, const int bShiftPress, const int bCtrlPr

5、ess )3)首先要判断得到的键盘键值是不是空格键,以及游戏的状态是不是等待开始状态,是的话则设置游戏状态为初始化,更新分数显示和游戏剩余时间,隐藏空格开始精灵和鼠标。在上面的函数定义里面添加如下的代码: if( KEY_SPACE = iKey & 0 = m_iGameState ) m_iGameState = 1; m_iGameScore = 0; m_fGameTime = 5.f; /游戏总共的时间 / 更新当前游戏积分显示(清零上一局积分显示值) m_pScore-SetTextValue(m_iGameScore); / 更新当前游戏剩余时间显示, 由于游戏刚开始,所以直接设

6、置为g_fMaxGameTime m_pTime-SetTextValue(m_fGameTime); / 隐藏 按空格开始游戏 这个提示图片 m_pKaishi-SetSpriteVisible(false); / 隐藏鼠标 CSystem:ShowCursor(false); 4)最后在Main.cpp中的OnKeyDown函数里面添加对我们自定义函数的调用: g_GameMain.OnKeyDown(iKey,bAltPress,bShiftPress,bCtrlPress);4、游戏初始化之后,每次系统刷新界面的时候对游戏总共的时间m_fGameTime减去一个fDeltaTime,这

7、样整体效果是游戏时间在不断的减少,判断游戏时间如果小于0,则游戏结束,回到空格开始界面。如果不是,则在地图的左上角消失当前剩余的时间。在GameRun函数里面添加如下代码:1)游戏总时间减少: m_fGameTime -= fDeltaTime;2)判断游戏时间是否大于0,是的话,显示游戏剩余时间:if(m_fGameTime 0)SetTextValue(int)m_fGameTime); 3)如果游戏时间小于等于0,则设置游戏状态为等待开始,添加如下代码:else m_iGameState = 0;SetSpriteVisible(true); m_fGameTime = 0.f;Show

8、Cursor(true); m_pPaizi-SetSpritePosition(m_fPosX,m_fPosY);5、要使拍子随鼠标移动,则要通过系统获取到鼠标的坐标位置,然后用SetSpritePosition设置拍子精灵的位置即可。1)进入LessonX.h中添加我们的自定义函数声明: void OnMouseMove( const float fMouseX, const float fMouseY );2)进入LessonX.cpp中添加该函数的定义:OnMouseMove( const float fMouseX, const float fMouseY )3)如果当前游戏状态是初

9、始化或者正在进行中,则将鼠标位置赋给拍子,在上面的函数中添加如下代码: if(m_iGameState=1|m_iGameState=2)SetSpritePosition(fMouseX, fMouseY);4)在Main.cpp中的OnMouseMove函数中添加对我们自定义函数的调用: g_GameMain.OnMouseMove(fMouseX,fMouseY);实验三拍子模拟拍打动作步骤一、拍子模拟拍打飞虫的动作 在系统鼠标单击函数里面处理拍子拍打动作。设置拍子角度改变,同时设置一个动作时间,在游戏过程中不断减少该时间的值,如果改值为0,则恢复拍子的角度,这样整体的效果就是拍打的动作

10、。1、进入LessonX.h中添加下面的成员变量声明:float m_fRotateTime ; / 拍子拍下后距离复位还差多少时间 float m_fOldRotation ; / 拍子的初始角度2、在LessonX.cpp的构造函数中初始化以上的成员变量: m_fRotateTime =0.f; m_fOldRotation =0.f;3、获取拍子的初始角度并保存,在GameInit中添加下面一行代码: m_fOldRotation=m_pPaizi-GetSpriteRotation();4、添加一个自定义函数来处理拍子角度改变的动作。1)在LessonX.h中添加自定义函数的声明: v

11、oid OnMouseClick( const int iMouseType, const float fMouseX, const float fMouseY );2)在LessonX.cpp中添加该函数的定义:OnMouseClick( const int iMouseType, const float fMouseX, const float fMouseY )3)判断游戏的状态是否是初始化或者进行中,是的话则改变拍子的角度,设置一个拍下的动作时间。在上面的函数定义中添加以下代码:SetSpriteRotation(m_fOldRotation - 10); m_fRotateTime

12、= 0.2f; 4)在Main.cpp中的OnMouseClick函数中添加对自定义函数的调用: g_GameMain.OnMouseClick(iMouseType,fMouseX,fMouseY);5、在游戏中判断拍子拍下后,动作时间是否达到了0,是的话恢复拍子的角度。在GameRun的if(m_fGameTime 0)判断里面添加下面的代码: if(m_fRotateTime m_fRotateTime -= fDeltaTime; if(m_fRotateTime SetSpriteRotation(m_fOldRotation); 6、为了让游戏时间长一点,这样我们可以方便测试实验目

13、的是否达到,我们可以将LessonX.cpp的OnKeyDown中将游戏时间设置为m_fGameTime = 15.f;至此,本实验结束。实验四模拟拍打飞虫步骤一、创建飞虫精灵步骤二、判断拍子是否打中飞虫步骤三、改变飞虫位置 创建一个飞虫精灵,使它从世界边界的一侧飞到令一侧,如果碰到世界边界,则随机改变飞虫的位置,从世界边界的另一个位置出现,循环上述动作。飞虫飞行过程中,判断飞虫的中心点是否在拍子精灵中,如果是则中断飞行动作,随机从世界边界另一个位置出现,这样就实现了拍子拍打飞虫的效果了。1、进入LessonX.h中添加如下的成员变量声明: float m_fScreenLeft ;/ 屏幕的4个边界值:上下左右 float m_fScreenRight

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1