zoukankan      html  css  js  c++  java
  • attackZombie如何实现符合需求的攻击函数_2

    可行。

    /**
        攻击僵尸
    */
    
    void attackZombie()
    {
        for(int k = 0; k < 2; k++)
        {
            here:
            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;
                                goto here;
                            }
                            else if(zombieLife[k][j] == 1)
                            {
                                sysBaseInfo.commonZombieNum -= 1;
                                sysBaseInfo.diedCommonZombieNum += 1;
                                grassArray[k][j] = NOTHING;
                                zombieLife[k][j] = 3;//重新赋值为初始值
                                //break;
                                goto here;
                            }
                        }                    
                    }
                }
                //continue;
            }
        }
    }

    建议6.3 不要滥用goto语句。

    说明:goto语句会破坏程序的结构性,所以除非确实需要,最好不使用goto语句。

    可以利用goto语句方面退出多重循环;同一个函数体内部存在大量相同的逻辑但又不方便封装成函数的情况下,譬如反复执行文件操作,对文件操作失败以后的处理部分代码(譬如关闭文件句柄,释放动态申请的内存等等),一般会放在该函数体的最后部分,再需要的地方就goto到那里,这样代码反而变得清晰简洁。

  • 相关阅读:
    java基础面试题-1
    深入探讨 Java 类加载器
    毕向东—Java基础知识总结(超级经典)
    nyoj-161-取石子 (四)
    nyist-751-破坏城市
    nyist-144-小珂的苦恼
    zoj-1047-I Think I Need a Houseboat
    zoj-1045-HangOver
    zoj-1037-Gridland
    hdoj-2268-How To Use The Car
  • 原文地址:https://www.cnblogs.com/liuzc/p/6522422.html
Copyright © 2011-2022 走看看