SDL中文论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz

函数:analyze_targets

查看数: 3927 | 评论数: 3 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2020-8-24 16:50

正文摘要:

analyze_targets,以本AI中各个单位为攻击方,枚举出“所有”攻击目标。 程序发现当前团队是AI,它首先进入战斗阶段(do_combat),即判断是否有单位可以对敌对单位执行攻击。要做出这个判断,需要分两步: 一、枚 ...

回复

admin 发表于 2020-8-24 16:53:05

最优值

analyze_target得出{attack_analyze}集合后,那哪里要选出一个最优目标,有一个最优比较。在analyze_target内部也存在要选出一个最优,那就是当攻击单位和被攻击单位确定之后,攻击单位要在被攻击单位毗邻的N(最多6)个格子内选出一个最“优”格子。

例如以上确立了攻击方是徐晃,被攻击方是周瑜,那么就需要在(2,1),(1,1),(0,0)这三个格子选出一个最“优”格式。

这个最优相关因素:

一、攻击方到达那格子,能有“领导”加成;

二、攻击方到达那格子,能有“背刺”加成;

三、攻击方到达那格子,敌方可能造成攻击;

三、攻击方到达那格子,能得到的已方支援;
admin 发表于 2020-8-24 16:52:42

缺陷

一、不能实现先后撤再攻击。
例如上面,要乐进先撤到(0, 3),满宠进驻(0,1)进攻。程序就没法枚举出这种可能性。对于先移的单位只能进攻不能后撤。

Archiver|手机版|小黑屋|丽谷软件|libsdl.cn

GMT+8, 2025-6-28 06:53 , Processed in 0.059394 second(s), 24 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表