Ming_TongXue
Ming_TongXue
采纳率0%
2020-09-08 18:57

用C语言为太空战机游戏编写一个分数达到500的时候BOSS出现的代码

我的思路是if(g_VerTemplate.iScore=500),后面的不知道咋弄了
创建敌方战机的代码
void CreateVerTick( float fDeltaTime )
{
// 是否到时间创建
g_fVerCreateTime -= fDeltaTime;
if( g_fVerCreateTime <= 0.f )
{
// 随机一个时间,作为下次出生的时间
g_fVerCreateTime = (float)dRandomRange( 5, 10 ) ;
// 飞机群的第一个飞机的起始Y坐标
int iPosBase = RandomRange((int)g_fWorldTop + 5, (int)g_fWorldTop + 25);
// 随机数量
int iCount = dRandomRange( VER_MIN_CREATE, VER_MAX_CREATE );
for( int iLoop = 0; iLoop < iCount; iLoop++ )
{
// 创建Sprite
SGameSprite pSprite=(SGameSprite)malloc( sizeof(SGameSprite) );
memcpy( pSprite, &g_VerTemplate, sizeof(SGameSprite) );
sprintf(pSprite->szName,"VerticalSprite_%d", g_iCreatedSpriteCount++ );
pSprite->fFloatTime=(float)dRandomRange(0, 10) / 10.f; // 上升和下降都取随机值
pSprite->bFloatUp=dRandomRange(0,1) == 1 ? true : false;
dCloneSprite( "VerticalSprite_Template", pSprite->szName );
// 添加到链表中
GList_AddSprite( pSprite );
// 坐标生成:
int iRandom =dRandomRange((int)g_fWorldRight+20, (int)g_fWorldRight + 40 );
float fPosY = g_fWorldTop + iPosBase + 10.f * iLoop;
dSetSpritePosition( pSprite->szName, (float)iRandom, fPosY );
// 固定速度
dSetSpriteLinearVelocityX( pSprite->szName, -10.f );
// 设置世界边界限制,及碰撞模式为NULL,即自行处理
dSetSpriteWorldLimit(pSprite->szName,WORLD_LIMIT_NULL, g_fWorldLeft-10.f,g_fWorldTop,g_fWorldRight+ 100.f, g_fWorldBottom );
}
}
}

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

1条回答

为你推荐