黄金矿工网页游戏源码(小游戏黄金矿工中文版)
本文目录一览:
- 1、用canvas写一个黄金矿工的小游戏的步骤
- 2、求一个黄金矿工小游戏的源代码,工程文件最好!要用win32 框架编写的,谢谢!好的一定再追加100分悬赏分!
- 3、请给我一份黄金矿工的c语言源代码,谢谢!
- 4、用c语言在funcode上做黄金矿工的游戏 求发整个文件
- 5、求黄金矿工关键代码
- 6、黄金矿工单人版的flash源代码下半部分翻译一下谢谢了。
用canvas写一个黄金矿工的小游戏的步骤
S键是左边的矿工放钩子,W键是左边的矿工扔炸药;键盘下键是右边的矿工放钩子,键盘上键是右边的矿工扔炸药。
求一个黄金矿工小游戏的源代码,工程文件最好!要用win32 框架编写的,谢谢!好的一定再追加100分悬赏分!
最近在学windows游戏编程,老师布置了...求高手们给个windows 用C++编写的潜艇大战的源代码,谢谢了! ...
请给我一份黄金矿工的c语言源代码,谢谢!
你好!
具体什么要求?要和黄金矿工界面一样吗?那可是非常有难度的
用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 fTimeDelta;
float 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 * fTimeDelta;
if( iHookRotToLeft )
{
g_fHookRotation += fThisRotate;
if( g_fHookRotation = 180.f )
{
g_fHookRotation = 180.f;
iHookRotToLeft = 0;
}
}
else
{
g_fHookRotation -= fThisRotate;
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_iGoldCount; iLoop++ )
{
if( iLoop 10 )//生成10个小金块,大小为4
{
iSize = 4;
}
else if( iLoop = 10 iLoop 16 )//生成6个中金块,大小为6
{
iSize = 6;
}
else//生成4个大金块,大小为8
{
iSize = 8;
}//初始化金子精灵实例
char* tmpName;
//生成金块名字
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_fEmptyHookSpeed;
Score+=fWidth;
// 钩子往初始位置移动
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 );
}
求黄金矿工关键代码
class文件是java编译后的文件,它不是源代码,真正的java源代码是.java文件。 java源代码是txt格式的.java文件,用记事本就可以打开。 用eclipse打开java 你可以自己下一个CE软件,想改什么都可以
黄金矿工单人版的flash源代码下半部分翻译一下谢谢了。
scaleX定义是什么你看看。。setType按照不同的物品启动gotoAndStop这个函数,里面的参数不同。。。。getScore就是取到什么物品加多少分。。。下半段就是一个switch代码。。。你搜索一下switch的用法就知道了