首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

,可以帮小弟我改写下面的小一段小程序吗?多谢(马上送分)

2012-02-09 
求助:各位大哥,可以帮我改写下面的小一段小程序吗?谢谢(马上送分)StructAnimalSrklFall{floatFallStartTim

求助:各位大哥,可以帮我改写下面的小一段小程序吗?谢谢(马上送分)
Struct     AnimalSrklFall
      {
            float   FallStartTime;   开始下降时间
            Bool   AnimalSrklFlag;   为真标志          
      };
     
      AnimalSrklFall   MyAnimalSrklFall[11];
     
      //-------------------------------------------------红色动物--------------------------------------------
        if   (MyAnimalSrklFall[10].AnimalSrklFlag)
{
                    AniMoveRodPanda-> Render(442,AnimalFallRedY11);                   //动画棍子上的熊猫
}

if   (MyAnimalSrklFall[9].AnimalSrklFlag)
{
                    AniMoveRodPanda-> Render(442,AnimalFallRedY10);                   //动画棍子上的熊猫
}

if   (MyAnimalSrklFall[8].AnimalSrklFlag)
{
                    AniMoveRodPanda-> Render(442,AnimalFallRedY9);                   //动画棍子上的熊猫
}

if   (MyAnimalSrklFall[7].AnimalSrklFlag)
{
                    AniMoveRodPanda-> Render(442,AnimalFallRedY8);                   //动画棍子上的熊猫
}

        if   (AnimalSrklFlag[6])
{
                  MyAnimalSrklFall[6].AnimalSrklFlag);                   //动画棍子上的熊猫
}

if   (AnimalSrklFlag[5])
{
                    AniMoveRodPanda-> Render(442,AnimalFallRedY6);                   //动画棍子上的熊猫
}

if   (MyAnimalSrklFall[4].AnimalSrklFlag)
    {
                    AniMoveRodPanda-> Render(442,AnimalFallRedY5);                   //动画棍子上的熊猫
}

if   (MyAnimalSrklFall[3].AnimalSrklFlag)
{
                    AniMoveRodPanda-> Render(442,AnimalFallRedY4);                   //动画棍子上的熊猫
}

if   (MyAnimalSrklFall[2].AnimalSrklFlag)
{
                    AniMoveRodPanda-> Render(442,AnimalFallRedY3);                   //动画棍子上的熊猫
}

if   (MyAnimalSrklFall[1].AnimalSrklFlag)
{
                    AniMoveRodPanda-> Render(442,AnimalFallRedY2);                   //动画棍子上的熊猫
}

  if   (MyAnimalSrklFall[0].AnimalSrklFlag)
{
                    AniMoveRodPanda-> Render(442,AnimalFallRedY1);                   //动画棍子上的熊猫
}
      //-------------------------------------------------红色动物--------------------------------------------


   
   
    请教:
    如果为真,则就需要执行
    因为是图片渲染,所以后渲染的图片,就会渲染在上层
   
    我需要,在这些条件为真的   中
    FallStartTime   越小的,就越后执行(也就是说后渲染)
   
   
   
    我上面的这段程序是不行的,
    因为     MyAnimalSrklFall[2].FallStartTime   是可能小于   MyAnimalSrklFall[1].FallStartTime  
    这样我的程序,就不行了!
   
   
    这样的程序要怎么写啊?
   
    谢谢!

[解决办法]
把MyAnimalSrklFall[11] 的索引号 按 FallStartTime 由由大到小排序(排序方法可自选)


int AnimalIndex[11]; //索引号
int AnimalExecN = 0; //需要执行次数

//插入排序
for(int i=10; i > =0; i--)
{
if (MyAnimalSrklFall[i].AnimalSrklFlag)
{
for(int j = 0; j < AnimalExecN; j++)
if(MyAnimalSrklFall[i].FallStartTime > MyAnimalSrklFall[AnimalIndex[j]].FallStartTime) {
for(int k = AnimalExecN; k > j; k--)
AnimalIndex[k] = AnimalIndex[k-1];
break;
}
AnimalIndex[j] = i;
AnimalExecN++;
}
}
//执行
for(int i=0; i < AnimalExecN; i++)
AniMoveRodPanda-> Render(442, AnimalIndex[i]);

热点排行