前面提到攻击函数有问题,但是,试了多种方法,没有达到预期的效果。。。
待解决。。。
/** 攻击僵尸 */ 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内只能攻击一次,无距离限制,但是只能攻击右边的僵尸。