《星球基地》角色执行任务代码优先级分析(2)
导语:首先说明,制作组把所有职业的任务混在了一起,请自行对应相应职业。贱民的任务优先级从高到低分别是: 拿武器攻击入侵者(这里指的不是保安,保安不算人类!) 攻击完入侵者后扔掉武器 去修被陨石砸的室内建筑(这个我
首先说明,制作组把所有职业的任务混在了一起,请自行对应相应职业。贱民的任务优先级从高到低分别是:
拿武器攻击入侵者(这里指的不是保安,保安不算人类!)
攻击完入侵者后扔掉武器
去修被陨石砸的室内建筑(这个我看了下代码,没有室外也是醉)
生存需求(吃饭 ,睡觉 ,blablabla)
去维持紧急的食物需求,造食物(生物学家专属技能)
去搬交易需要的货物到飞船
去建造
去休闲(注意,这里限制了是当状态非常不开心的时候)
去拿零件之后维修
去拿医疗包救人
去高优先级的矿场挖矿
去制作各种东西
去拿建筑材料之后运送建筑材料(知道为什么要多造机器人了吧,工人如果有矿挖优先级绝不搬这些 )
去找那些制作台所需的资源然后存放到制作台
去找喝的
去休闲(当状态有点不开心的时候)
去挖矿(无优先级,事实证明如果么有优先级人类非常不想去挖矿)
去搬东西到仓库
进到室内
让路(给其它优先级高的角色)
在室内闲逛接下来就是星际海盗们的世界观了:
排序从高到低:
攻击殖民者(理所当然)
进入室内
在室内闲逛
没了。
有人可能会说,怎么这么简单?还有,你要去攻击殖民者不就包含进入室内了么,怎么下面还有个进入室内?由于入侵者这个项比较少,我决定展开来解释嵌套关系,来让大家更好的理解这套AI逻辑的运行方法 。
首先让我们进入第一个优先级的函数:去攻击殖民者,让我们去看一下它是怎样被定义的:
第一个if的地方判定的是角色的身份,我就不再一一赘述statusflag12代表的内容了。然后这个函数会去寻找离强盗们最近的站着的角色。
让我们再来到findneareststanding函数被定义的地方:
这里就很明了了,该函数会枚举所有你的殖民者们,并且如果它们当前状态不是死亡,或者被打倒的状态时,函数会计算一个限制距离内所有殖民者中离你最近的一个,并把结果返回上一级。
让我们回到这里:
现在,我们得到了findnearsetstanding函数传回的离你最近并且可用的殖民者了,我们的下一个目标便是要接近她,这个目标则由goTarget实现。
我们来详细看一看gotarget:
我们真正输入的参数其实是当前处理的这个强盗和这个强盗将要选定目标的被害人,而这个函数的作用就是使强盗走向被害人,而其中就包含了goToBestAirlock(走向选定的最佳气闸)。至于这个函数是如何定义的就不再解释,太过复杂,也考虑到了其它正在执行的任务对流量造成的影响。
至此,强盗开始了自己入侵的过程,补充下前面setradius参数指的是当强盗离目标8个单位时,强盗会开始开火。
- 《星球基地》稳扎稳打初期发展心得2015年11月02日
- 《星球基地》淀粉产量提高心得分享2015年11月02日
- 《星球基地》最低配置及推荐配置参数一览2015年10月31日
- 《星球基地》开局心得 开局要点解析2015年10月30日
- 《星球基地》新手基础教学2015年10月30日
- 《星球基地》汉化缺字解决心得分享2015年10月30日
健康游戏忠告 抵制不良游戏,拒绝盗版游戏,注意自我保护,谨防上当受骗 适度游戏益脑,沉迷游戏伤身,合理安排时间,享受健康生活
- 作品版权归作者所有,如果无意中侵犯了您的版权,请来信告知,本站将在三个工作日内删除
- 提示:本站为防止低俗内容出现,用户发表的评论及上传游戏需本站审核后才能显示出来,谢谢