机器人实际上就是npc赋予了AI的功能,游戏里面的AI可以使用状态机来实现,把召唤出来的npc存在一个容器里面,然后每毫秒遍历一下容器里面每个npc,根据npc的状态,让它执行不同的操作:
switch(state())
{
case NORMAL: //AI的主要逻辑在这里实现
do_normal_action(...);
...
break;
case DIE:
...
break;
case HIDE:
...
break;
}
do_normal_action(...)
{
...
}
do_normal_action里面根据不同的AI类型执行不同的AI操作,常见的AI是do_normal_ai:
do_normal_ai()
{
//检查攻击间隔与移动间隔时间
...
//判断是否能够攻击
...
//如果不能攻击则随机移动,移动走A*寻路算法
...
}