如何在funcode做的黄金矿工4399小游戏黄金矿工里添加60s倒计时功能

求一FUNCODE大神【c语言吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:542,402贴子:
求一FUNCODE大神收藏
现在代码有了 求一大神把他改一下。一般funcode编程序的时候不是 LessonX.cpp和main。cpp。 我现在程序是直接一个 在main。cpp下运行 。可不可以帮忙把它改成两个
c语言哪里好?达内,0基础入学,无专业要求,先就业后付款,毕业&薪&起点.c语言哪里好?达内C语言课程,独创TTS8.0授课模式,一线名师授课.
//-----------------------------------------------------------------------------////-----------------------------------------------------------------------------#include&CommonAPI.h&#include&stdio.h&#include&string.h&void
DrawHookLine();int g_fGoldBornMinX
g_fGoldBornMaxX
g_fGoldBornMinY
g_fGoldBornMaxY
0;int g_iGoldCount
g_iGameState=2;int flag=1;
int flagnum=0;charszGotGoldName[20]
//当前抓到金子的名称floatg_fHookRotation = 0.f;floatg_fEmptyHookSpeed
=35.f;float fTimeDfloatg_fHookStartPosX;
//存储钩子的初始X位置floatg_fHookStartPosY;
//存储钩子的初始Y位置/////////////////////////////////////////////////////////////////////////////////////////////// 主函数入口////////////////////////////////////////////////////////////////////////////////////////////int PASCALWinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
lpCmdLine,
nCmdShow){
// 初始化游戏引擎
if( !dInitGameEngine( hInstance,lpCmdLine ) )
// 游戏初始化代码
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 →
floatfTimeDelta
dGetTimeDelta();
// 引擎主循环,处理屏幕图像刷新等工作
while( dEngineMainLoop() )
// 获取两次调用之间的时间差,传递给游戏逻辑处理
floatfTimeDelta
dGetTimeDelta();
DrawHookLine();
// 执行游戏主循环
if(g_iGameState == 0)
float fThisRotate =
fRotateSpeed * fTimeD
if( iHookRotToLeft )
g_fHookRotation
if(g_fHookRotation &= 180.f )
g_fHookRotation
iHookRotToLeft
g_fHookRotation
if( g_fHookRotation &= 0.f )
g_fHookRotation
iHookRotToLeft
dSetSpriteRotation(&GoldHook&,g_fHookRotation);
else if(g_iGameState == 1)
dAnimateSpritePlayAnimation(&goldMan&,&GolderManAnimation3&,1 );
//播放拉金块的动作
//获取钩子X方向的速度
floatfSpeedX
dGetSpriteLinearVelocityX(&GoldHook&);
//获取钩子Y方向的速度
floatfSpeedY
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=
dSetSpriteVisible(&GameBegin&,1);
g_iGoldCount
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 ){
// 可以在此添加游戏需要的响应函数}//==========================================================================//// 引擎捕捉键盘按下消息后,将调用到本函数// iAltPressiShiftPress iCtrlPress 分别为判断Shift,Alt,Ctrl当前是否也处于按下状态。比如可以判断Ctrl+E组合键void dOnKeyDown(const int iKey, const int iAltPress, const int iShiftPress, const intiCtrlPress ){
// 可以在此添加游戏需要的响应函数
if(iKey==KEY_SPACE)
g_iGameState
1; // 初始化之后,将游戏状态设置为进行中
dSetSpriteVisible(&GameBegin&,0);
//生成金子
//循环变量控制
4,iPosX = 0, iPosY = 0; //iSize表示金块大小的变量
for(iLoop = 0; iLoop & g_iGoldC iLoop++ )
if( iLoop & 10 )//生成10个小金块,大小为4
else if( iLoop &= 10 &&iLoop & 16 )//生成6个中金块,大小为6
else//生成4个大金块,大小为8
}//初始化金子精灵实例
char* tmpN
tmpName=dMakeSpriteName(&GoldBlock&,iLoop);
//生成金块名字
dCloneSprite(&goldTemplate&,tmpName);
dSetSpriteWidth(tmpName,(float)iSize);
//设置金块的宽度
dSetSpriteHeight(tmpName,(float)iSize);
//设置金块的高度
//设置金子精灵位置
dRandomRange(g_fGoldBornMinX,g_fGoldBornMaxX);
dRandomRange(g_fGoldBornMinY,g_fGoldBornMaxY);
dSetSpritePosition(tmpName,(float)iPosX,(float)iPosY);
if(g_iGoldCount==0)
g_iGoldCount=20;
if( iKey == KEY_DOWN&&g_iGameState
//按下↓并且游戏状态为
g_iGameState=
//置游戏状态为2,可用于控制钩子是否摆动
// 以当前朝向给钩子一个向前的速度
dSetSpriteLinearVelocityPolar(&GoldHook&,g_fEmptyHookSpeed,g_fHookRotation);
// 播放挖金者的动作(一个胳膊往下压的动作)
dAnimateSpritePlayAnimation(&goldMan&,&GolderManAnimation1&,0);
//0 表示播放一次,这里胳膊往下压就是一次
}//==========================================================================//// 引擎捕捉键盘弹起消息后,将调用到本函数void dOnKeyUp(const int iKey ){
// 可以在此添加游戏需要的响应函数}//===========================================================================//// 引擎捕捉到精灵与精灵碰撞之后,调用此函数voiddOnSpriteColSprite( 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.该小数乘以空钩子的速度即得到挂接不同金子后的实际速度
floatfWidth
dGetSpriteWidth( szTarName );
floatfSpeed
((10.f - fWidth) / 10.f) *g_fEmptyHookS
// 钩子往初始位置移动
dSpriteMoveTo(&goldhook&, g_fHookStartPosX, g_fHookStartPosY, fSpeed, 1);
dAnimateSpritePlayAnimation(&goldMan&,&GolderManAnimation1&,0 );
//播放拉金块的动作
g_iGameState = 1;
flagnum=1;
}}//===========================================================================//// 引擎捕捉到精灵与世界边界碰撞之后,调用此函数.// iColSide : 0 左边,1 右边,2 上边,3 下边voiddOnSpriteColWorldLimit( 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;
DrawHookLine(){
// 首先,从矿工精灵上获取一个缆绳链接点作为绳子的起始点(该链接点在编
// 辑器里编辑好)
floatfStartX
dGetSpriteLinkPointPosX(&GoldMan&, 1 );
floatfStartY
dGetSpriteLinkPointPosY(&GoldMan&, 1 );
// 绳子终点在钩子精灵上获取(该链接点在编辑器里编辑好)
floatfEndX
dGetSpriteLinkPointPosX(&GoldHook&, 1 );
floatfEndY
dGetSpriteLinkPointPosY(&GoldHook&, 1 );
// 在这两点之间划线.线的颜色红绿蓝值都为50,即灰色
dDrawLine( fStartX, fStartY, fEndX,fEndY, 2.f, 0, 50, 50, 50, 255 );}
这是黄金矿工的游戏
能写这么多代码
还不会分别在两个文件里?
楼主的问题解决了吗
登录百度帐号推荐应用后使用我的收藏没有帐号?
所属分类: &
查看: 22|回复: 0
funcode黄金矿工错误代码
funcode错误代码
轻松浪漫回合制手游 9月6日开启测试!
六种职业助力西游 全平台上线送好礼!}

我要回帖

更多关于 黄金矿工单人版小游戏 的文章

更多推荐

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

点击添加站长微信