跪求C语言中fun函数 funcode 弹弹堂代码

用c语言在funcode上做黄金矿工的游戏 求发整个文件_百度知道
用c语言在funcode上做黄金矿工的游戏 求发整个文件
我有更好的答案
//funcode黄金矿工源文件#include&&CommonAPI.h&#include&&stdio.h&#include&&string.h&void&&&DrawHookLine();int&g_fGoldBornMinX&=&0;int&g_fGoldBornMaxX&=&0;int&g_fGoldBornMinY&=&0;int&g_fGoldBornMaxY&=&0;int&g_iGoldCount&=&&20;int&g_iGameState=2;int&flag=1;&float&Score=0.f;int&flagnum=0;&char&szGotGoldName[20]&;&//当前抓到金子的名称float&g_fHookRotation&=&0.f;float&g_fEmptyHookSpeed&=35.f;float&fTimeDfloat&g_fHookStartPosX;&//存储钩子的初始X位置float&g_fHookStartPosY;&//存储钩子的初始Y位置///////////////////////////////////////////////////////////////////////////////////////////////&主函数入口////////////////////////////////////////////////////////////////////////////////////////////int&PASCAL&WinMain(HINSTANCE&hInstance,&&&&&&&&&&&&&&&&&&&HINSTANCE&hPrevInstance,&&&&&&&&&&&&&&&&&&&LPSTR&&&&&lpCmdLine,&&&&&&&&&&&&&&&&&&&int&&&&&&&nCmdShow){&//&初始化游戏引擎&if(&!dInitGameEngine(&hInstance,&lpCmdLine&)&)&&return&0;&//&游戏初始化代码&&&&&dSetWindowTitle(&黄金矿工&);&g_fGoldBornMinX&&=&dGetScreenLeft()&+&5;&&//金子左边界&g_fGoldBornMaxX&&=&dGetScreenRight()&-&5;&&//金子右边界&g_fGoldBornMinY&&=&dGetScreenTop()&+&20;&&//金子上边界&g_fGoldBornMaxY&&=&dGetScreenBottom()&-&5;&//金子下边界&g_fHookStartPosX&=&dGetSpritePositionX(&GoldHook&);&//获取钩子的初始X坐标&g_fHookStartPosY&=&dGetSpritePositionY(&GoldHook&);&//获取钩子的初始Y坐标&&&&dSetSpriteCollisionSend(&goldHook&,&1);&dSetSpriteCollisionReceive(&goldTemplate&,&1);&const&float&fRotateSpeed&=&45.f;&&//&&摇摆速度,单位&度/秒&int&iHookRotToLeft&=&1;&&&//钩子摆动的方向:1&←&;0&→&float&fTimeDelta&=&dGetTimeDelta();&&&&//&引擎主循环,处理屏幕图像刷新等工作&while(&dEngineMainLoop()&)&{&&//&获取两次调用之间的时间差,传递给游戏逻辑处理&&float&fTimeDelta&=&dGetTimeDelta();&&DrawHookLine();&&&&&&&&//&执行游戏主循环&&if(g_iGameState&==&0)&&{&&&&&&float&fThisRotate&=&fRotateSpeed&*&fTimeD&&&&&&&&&&&&&&&if(&iHookRotToLeft&)&&&{&&&&g_fHookRotation&+=&fThisR&&&&if(&g_fHookRotation&&=&180.f&)&&&&{&&&&&g_fHookRotation&&=&180.f;&&&&&iHookRotToLeft&=&0;&&&&}&&&}&&&&&&else&&&{&&&&&&&&g_fHookRotation&-=&fThisR&&&&&&&if(&g_fHookRotation&&=&0.f&)&&&&{&&&&&g_fHookRotation&&=&0.f;&&&&&iHookRotToLeft&=&1;&&&&}&&&}&&&&&&dSetSpriteRotation(&GoldHook&,g_fHookRotation);&&}&&else&if(g_iGameState&==&1)&&{&&&&dSetTextValue(&Score&,Score);&&&//播放拉金块的动作&&&dAnimateSpritePlayAnimation(&goldMan&,&GolderManAnimation3&,&1&);&&&&&&&&&&&&&//获取钩子X方向的速度&&&&&&float&fSpeedX&=&dGetSpriteLinearVelocityX(&GoldHook&);&&&&&&&&&&&&&//获取钩子Y方向的速度&&&&&&&float&fSpeedY&=&dGetSpriteLinearVelocityY(&GoldHook&);&&&&&&&&&&&&&&&//当速度接近为0时,即可判定其已到达初始点&&&&&&&&&&&&if(&fSpeedX&&&0.00001f&&&&fSpeedX&&&-0.00001f&&&&&&&fSpeedY&&&0.00001f&&&&fSpeedY&&&-0.00001f&)&&&{&&&&&&&&&&&&&&&&//解除金块与钩子的锚定&&&dSpriteDismount(szGotGoldName);&&&&&&&&&&&&&&&&&//删除获取的金块&&&dDeleteSprite(szGotGoldName);&&&&&&&&&&&&&&&&&&//回拉结束,设定状态为0&&&g_iGameState&=&0;&&&&&&&&&&&if(flagnum)&&&{g_iGoldCount--;&&&&&}&&&}&&}&&//&播放挖金者的动作(恢复初始守候动作)&&dAnimateSpritePlayAnimation(&goldMan&,&&GolderManAnimation2&,&1);&&if(g_iGoldCount==0)&&{&&&g_iGameState&=&0;&&&Score=0;&&&&&&&&&&&&dSetSpriteVisible(&GameBegin&,1);&&&&g_iGoldCount&=&&20;&&&flag=1;&&&}&};&dAnimateSpritePlayAnimation(&goldMan&,&&GolderManAnimation2&,&1);&&&&&//&关闭游戏引擎&dShutdownGameEngine();&return&0;}//==========================================================================////&引擎捕捉鼠标移动消息后,将调用到本函数void&dOnMouseMove(&const&float&fMouseX,&const&float&fMouseY&){&//&可以在此添加游戏需要的响应函数}//==========================================================================////&引擎捕捉鼠标点击消息后,将调用到本函数void&dOnMouseClick(&const&int&iMouseType,&const&float&fMouseX,&const&float&fMouseY&){&//&可以在此添加游戏需要的响应函数}//==========================================================================////&引擎捕捉键盘按下消息后,将调用到本函数//&iAltPress&iShiftPress&iCtrlPress&分别为判断Shift,Alt,Ctrl当前是否也处于按下状态。比如可以判断Ctrl+E组合键void&dOnKeyDown(&const&int&iKey,&const&int&iAltPress,&const&int&iShiftPress,&const&int&iCtrlPress&){&//&可以在此添加游戏需要的响应函数&&if(iKey==KEY_SPACE)&&{&&&&&&&g_iGameState&=&1;&//&初始化之后,将游戏状态设置为进行中&&&&&&&dSetSpriteVisible(&GameBegin&,0);&&&&//生成金子&&&&&int&iLoop&=&0;&//循环变量控制&&&&&&&&&&&int&iSize&=&4,&iPosX&=&0,&iPosY&=&0;&//iSize表示金块大小的变量&&&&&if(flag)&&&{&&&&&&&for(&iLoop&=&0;&iLoop&&&g_iGoldC&iLoop++&)&&&&{&&&&&&&&&&&&&&if(&iLoop&&&10&)//生成10个小金块,大小为4&&&&&{&&&&&&&&&&&&&&&&iSize&=&4;&&&&&}&&&&&&&&&&&&&&else&if(&iLoop&&=&10&&&&iLoop&&&16&)//生成6个中金块,大小为6&&&&&{&&&&&&&&&&&&&&&&iSize&=&6;&&&&&}&&&&&&&&&&&&&&else//生成4个大金块,大小为8&&&&&{&&&&&&&&&&&&&&&&&&&iSize&=&8;&&&&&}//初始化金子精灵实例&&&&&&&&&&&&&&&&&&&&char*&tmpN&&&&&//生成金块名字&&&&&tmpName=dMakeSpriteName(&GoldBlock&,iLoop);&&&&&&&&&&&&&&&&dCloneSprite(&goldTemplate&,tmpName);&&&&&//设置金块的宽度&&&&&dSetSpriteWidth(tmpName,(float)iSize);&&&&&//设置金块的高度&&&&&&&&&&&&&&&&&dSetSpriteHeight(tmpName,(float)iSize);&&&&&&&//设置金子精灵位置&&&&&&&&&&&&&&iPosX&=&&dRandomRange(g_fGoldBornMinX,&g_fGoldBornMaxX);&&&&&&&&&&&&&&iPosY&=&&dRandomRange(g_fGoldBornMinY,&g_fGoldBornMaxY);&&&&&&&&&&&&&&dSetSpritePosition(tmpName,(float)iPosX,&(float)iPosY);&&&&&&&&flag=0;&&&&}&&&}&&&&&&&&&if(g_iGoldCount==0)&&&{&&&&&&&&&&&&&&&&flag=1;&&&&g_iGoldCount=20;&&&}&&}&&if(&iKey&==&KEY_S&&&g_iGameState&==0&)&&{&&&//按下↓并且游戏状态为&&0&&&&&&&&&&&&g_iGameState&=&2;&//置游戏状态为2,可用于控制钩子是否摆动&&&&&&&&&//&以当前朝向给钩子一个向前的速度&&&dSetSpriteLinearVelocityPolar(&GoldHook&,g_fEmptyHookSpeed,g_fHookRotation);&&&&&&&&&//&播放挖金者的动作(一个胳膊往下压的动作)&&&dAnimateSpritePlayAnimation(&goldMan&,&GolderManAnimation1&,&0);&&&&&&&&&//0&表示播放一次,这里胳膊往下压就是一次&&}&}//==========================================================================////&引擎捕捉键盘弹起消息后,将调用到本函数void&dOnKeyUp(&const&int&iKey&){&//&可以在此添加游戏需要的响应函数}//===========================================================================////&引擎捕捉到精灵与精灵碰撞之后,调用此函数void&dOnSpriteColSprite(&const&char&*szSrcName,&const&char&*szTarName&){&//&发起者为GoldHook,接受者含有GoldBlock字段&&&if(strcmp(szSrcName,&GoldHook&)==&1&&&&strstr(szTarName,&GoldBlock&)!=NULL&)&&{&&&//将金块锚定在钩子上&&&&&&dSpriteMountToSpriteLinkPoint(&szTarName,&&GoldHook&,&2&);&&&//使钩子向初始位置移动,即会拉&&&dSpriteMoveTo(&GoldHook&,g_fHookStartPosX,g_fHookStartPosY,&g_fEmptyHookSpeed,&1);&&&//复制并保存当前抓取到金块的名称&&&strcpy(szGotGoldName,szTarName);&&&&&&&//&发起者为GoldHook,接受者含有GoldBlock字段&&&&&&&&&&&&//&根据金子大小,计算钩子的往回收的速度,越大的越慢。&&&//&算法:之前设置的金子大小为4,6,8,用10减去该大小再除以10,得到3个小数:0.6,0.4,0.2.该小数乘以空钩子的速度即得到挂接不同金子后的实际速度&&&&&&&&&&&&&float&fWidth&=&dGetSpriteWidth(&szTarName&);&&&&&&&&&&&&&float&fSpeed&=&((10.f&-&fWidth)&/&10.f)&*&g_fEmptyHookS&&&Score+=fW&&&&&&&&&&&&//&钩子往初始位置移动&&&&&&&&&&&&&&dSpriteMoveTo(&&goldhook&,&g_fHookStartPosX,&g_fHookStartPosY,&fSpeed,&1);&&&//播放拉金块的动作&&&dAnimateSpritePlayAnimation(&goldMan&,&GolderManAnimation1&,&0&);&&&&g_iGameState&=&1;&&&flagnum=1;&&}}//===========================================================================////&引擎捕捉到精灵与世界边界碰撞之后,调用此函数.//&iColSide&:&0&左边,1&右边,2&上边,3&下边void&dOnSpriteColWorldLimit(&const&char&*szName,&const&int&iColSide&){&if(strcmp(szName,&GoldHook&)!=0)&{&&&&&&&&//碰到边界的为钩子时//同样设置为回拉,只是没有碰到金子&dSpriteMoveTo(szName,g_fHookStartPosX,g_fHookStartPosY,&g_fEmptyHookSpeed,&1);//播放拉金块的动作&&&&&&&&dAnimateSpritePlayAnimation(&goldMan&,&GolderManAnimation3&,&0);&&&&g_iGameState&=&1;&&&&&flagnum=0;&}&}void&DrawHookLine(){&//&首先,从矿工精灵上获取一个缆绳链接点作为绳子的起始点&&&&float&fStartX&=&dGetSpriteLinkPointPosX(&&GoldMan&,&1&);&float&fStartY&=&dGetSpriteLinkPointPosY(&&GoldMan&,&1&);&//&绳子终点在钩子精灵上获取&float&fEndX&=&dGetSpriteLinkPointPosX(&&GoldHook&,&1&);&float&fEndY&=&dGetSpriteLinkPointPosY(&&GoldHook&,&1&);&//&在这两点之间划线.线的颜色红绿蓝值都为50,即灰色&dDrawLine(&fStartX,&fStartY,&fEndX,&fEndY,&2.f,&0,&50,&50,&50,&255&);}
采纳率:54%
来自团队:
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。求C语言funcode坦克大战文件代码_百度知道
求C语言funcode坦克大战文件代码
发后 留下zhi fu bao账号,谢谢了
我有更好的答案
你邮箱多少,,,我发给你
是qq的you xiang,然后加上那些后缀
已经发,,,
采纳率:36%
来自团队:
为您推荐:
其他类似问题
坦克大战的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。求助,求大神指导c语言用FunCode制作黄金矿工的源代码【北京科技大学吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:157,626贴子:
求助,求大神指导c语言用FunCode制作黄金矿工的源代码收藏
操作步骤,案例分享,培训资料......你想找的都在这里,海量信息免费查寻!
我也要!!
在机电楼216?
去C++ 吧里,很多的
照着文档写就好了。。很简单的,自己加的东西很少。。
照着文档写不对啊
文档里的错一堆一堆的
14年的贴……我做好了一份
最后把黄金矿工做出来就能及格吗
登录百度帐号您的位置:&&推荐的文章
在funcode游戏引擎环境下制作弹弹堂小游戏时,如何实现多人游戏。实现单人游戏的代码如下:
在猴岛,我可以帮助你查询问题答案,稍后私密你。
在猴岛,我可以帮助你查询问题答案,稍后私密你。
public int getSalary(int month){ return this.salar...
在猴岛,我可以帮助你查询问题答案,稍后私密你。
欢迎到猴岛论坛 紫霞游戏首充有优惠 充值送返利
购物网站热门产品排行}

我要回帖

更多关于 C语言char 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信