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到那里,这样代码反而变得清晰简洁。

  • 相关阅读:
    nginx反向代理编译异常
    TCP/ip协议栈之内核调优
    Tcp之异常
    Codeforces Round #584
    Codeforces Round #588 (Div. 2)
    Codeforces Round #587 (Div. 3) F
    P4587 [FJOI2016]神秘数 主席树
    P4559 [JSOI2018]列队 主席树
    P4098 [HEOI2013]ALO 可持久化01trie
    4771: 七彩树 主席树
  • 原文地址:https://www.cnblogs.com/liuzc/p/6522422.html
Copyright © 2011-2022 走看看