首页 > 其他 > 详细

王者光耀第三次

时间:2018-06-28 21:04:37      阅读:207      评论:0      收藏:0      [点我收藏+]

1、思路描述:
我是负责小兵的AI部分,其实小兵的移动和攻击和英雄有许多相似之处,理应继承于同一个基类,但是我们偷了个懒,就没用继承。而小兵AI的重点就在于什么时候移动,什么时候停止。我是在小兵前面有敌人时让小兵停止移动并开始攻击,这里我就套用了英雄的移动和攻击函数,不同之处在于需要先判断小兵前面有没有敌人,还有小兵的攻击距离为一。
2、代码说明:代码相较于上次有所改进。

void kar::Gmove(kar **x)
{
    ed=clock();
    if(ed-bg<1000)return ;
    bg=ed;
    pos *itsp;
    int p=0,flag=1,i;
    for(i=10;i<29;i++)
    {
        if(x[i]==NULL)continue;
        itsp=new pos(x[i]->nowpos);
        itsp->ix+=x[i]->dir;
        for(p=0;p<29;p++)
        {
            if(x[p]==NULL)continue;
            if(x[p]->camp!=x[i]->camp&&x[p]->nowpos==*itsp)
            {
                x[p]->attacked(x[i]->attack);
                break;
            }
        }
        delete itsp;
        if(x[i]->blood<=0)
        {
            delete x[i];x[i]=NULL;continue;
        }
        if(p==29)x[i]->move(x[i]->dir);
    }
}

王者光耀第三次

原文:https://www.cnblogs.com/menmamizigeda/p/9240614.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!