生产策略
大致策略是生产456尽量平衡,如果场上4的数量(包括机器人身上的和正在生产但未生产完毕的)最少,那么优先生产4。但会有其他因素影响其优先级,包括路径上是否有其他机器人,这个工作台是否被对方工作台占领,这个工作台剩余配件数等......
寻路
寻路主体是A*算法,加了一些改编。将地图分为100*100的方格,其中有很多地方机器人不带物品可以通过但是带物品无法通过的情况,我在A_star::islegal
函数里做了很多特判,这里处理的不是很好。另外一点是拓展了一个增加障碍和删除障碍的函数,目的是将机器人动态添加为障碍,寻路完成后将机器人障碍删除(加了这个功能我发现复赛代码不用避碰算法就跑的比初赛代码好/(ㄒoㄒ)/~~)。还有一个是压缩路径,寻路完成后的路径是很多相邻节点的集合,我把两个可以直达的节点之间的节点全部删除,用的二分查找,和元龙哥思路不谋而合。
对抗
防守
首先利用机器人雷达判断对方机器人位置,如果发现对方机器人在我方工作台,我会把工作台做一个标记,有了这个标记,在生产决策的时候这个工作台的优先级会降低(但不会屏蔽这个工作台),倒计时几百帧之后这个标记会消失,如果扫描到会再次标记。
进攻
无脑跟踪就完事了
更多细节在代码里。。
标签:决赛,标记,代码,机器人,华为,2023,寻路,工作台 From: https://www.cnblogs.com/hellozhangjz/p/17354685.html