SDL中文论坛

标题: ai顶层逻辑 [打印本页]

作者: ancientcc    时间: 2020-8-24 16:09
标题: ai顶层逻辑
术语
城市矩形:在已方拥有的所有城市中找出x,y最小值为左上角,最大x,y值为右下角形成的矩形。
思考矩形:以城市矩形为参考,上、下、左、右扩展得到的矩形。它是此次AI集中于思考的区域,AI此次所有行为不会超出这个区域。
军区:AI形成一个目标的区域,它形状上往往也是个矩形。军区有数种属性,像目标,敌我军事力量。
(, 下载次数: 2270)
ai逻辑
一、根据城市矩形分隔了军区,得出军区城市矩形

二、在军区内,根据区内城市矩形计算出思考矩形

三、依次计算每个军区中各项数值,确定出该军区在此回合的战略目标




四、对于区内军力已方“小于”敌方的军区执行征兵
目的是使在那个军区内敌、我双方攻击力保持均衡(尽量大于)。对于新征出部队,它们的goto置为此个军区中心点。

五、回防

六、执行攻击
已方城外部队(上回合留下及本回合新出征/征兵)对敌方城外部队/城市;

七、重新计算军区数值
操作和(三)一样。

八、城市间移动武将
根据ordered_holded_cities,把武将向距离该军区中心最近城市移动。
为计算要移多少武将才能达到军事目的,这里要估算一个武将可以产生多少能量。这个能量和“一只部队能量”相关,设定的估值是15000(100(统帅)*150(HP))。

九、内政
建造市场。

十、城外/城内所有未行动部队,执行移动
有goto的执行goto,像此次新征出部队。
没goto的移向1)“最佳”敌方城市;2)没有敌方城市时,则移去军区中心。
部队移动后,goto都置为无效。

什么样城市是“最佳”攻击目标?
1、以上第七步“城市间”移动武将找出的城市。
2、第一个有敌方城市军区内的第一个城市。




欢迎光临 SDL中文论坛 (http://www.libsdl.cn/bbs/) Powered by Discuz! X3.3