文明4中AI的科技研究目标队列是一个由科技组成的队列(即先进先出). 当这个队列非空时, 电脑会按照这个队列的顺序来逐一研究; 如果这个队列是空的, 则会重新选择(即调用AI_chooseResearch来决定)科技研究目标, 通过这个目标来生成目标队列.
列举影响一个AI玩家的研究目标队列的主要因素
(1) 移出成员
当此AI获得队列中的科技时, 这个科技将从队列中移出
(2) 以下情况, 会清空AI玩家的整个研究目标队列
a. 其重新选择(即调用AI_chooseResearch来决定)科技研究目标时
b. 正在研究一个有首发奖励的科技(即这个科技在队首), 这个科技被发现时(无论是其它人发现的, 还是自己发现的)
c. 所属组队与某个人类玩家首次相遇时
(3) 增加成员
当此AI重新选择科技研究目标, 通过这个目标来生成目标队列成员, 生成机制是选择最短路线.
例如: 一AI只掌握轮子和多神, 研究目标是字母, 那么它的研究目标队列将为祭祀, 书写, 字母. 因为走畜牧或制陶均要多走1步.
注: 当宗主国向附庸发布研究指令时, 附庸的研究目标队列将清空, 并将指示的科技加入队列.
再谈AI_chooseResearch
AI执行AI_chooseResearch时, 将
首先清空研究目标队列
然后, 如果当前没有研究目标, 即研究目标队列是空的时, 若所属组队中其它玩家当前有研究目标, 则用它们的作为研究目标, 加入到研究目标队列中.
最后, 再检查当前是否有研究目标, 如果没有, 则调用AI_bestTech来选择一科技研究目标, 从而产出目标队列成员. |