attackZombie如何实现符合需求的攻击函数

前面提到攻击函数有问题,但是,试了多种方法,没有达到预期的效果。。。

待解决。。。

/**
    攻击僵尸
*/

void attackZombie()
{
    for(int k = 0; k < 2; k++)
    {
        for(int i = 0; i < 9;i++)//如何能跳到这里??
        {
            if(grassArray[k][i] == BEAN_SHOOTER)//确保一个豌豆射手每1h只攻击一次??
            {
                for(int j = i + 1; j < 10;j++)
                {
                    if(grassArray[k][j] == COMMON_ZOMBIE)
                    {
                        if(zombieLife[k][j] > 1)
                        {
                            zombieLife[k][j] -= 1;                            
                            break;//这个break只是跳出最内层循环,能跳出if之外吗
                        }
                        else if(zombieLife[k][j] == 1)
                        {
                            sysBaseInfo.commonZombieNum -= 1;
                            sysBaseInfo.diedCommonZombieNum += 1;
                            grassArray[k][j] = NOTHING;
                            zombieLife[k][j] = 3;//生命值减到0了这个僵尸也就over了,新位置的僵尸的生命值要重新赋值为初始值
                            //break;
                            break;
                        }
                    }                    
                }
                //break;
            }
            //break;
        }
    }
}

说明:豌豆射手种植1h后开始攻击,每个豌豆射手每1h内只能攻击一次,无距离限制,但是只能攻击右边的僵尸。

原文地址:https://www.cnblogs.com/liuzc/p/6517634.html