如何判断女王能否打到某个建筑——女王攻击距离分析
前言
之前有玩家提出了一个女王射程的问题,他说女王的射程应为 5.5 格,而非网站中说的 5 格,还给出了计算的图。
他的看法是:内圈圆的半径是 5 格,和吹风机、大本营的“判定面积”均没有相交。而如果攻击距离是 5.5 格,那么符合游戏内的实际情况,攻击距离与判定面积相交,可以攻击到吹风机和大本营。
其实这个图是有问题的,我先不说他错在哪儿,你看完正确的算法之后就知道了。
什么?你连前言都没看懂?不要慌,后面会给你解释。
这是一篇较真的文章,不太适合咸鱼玩家。本文创立了一种繁琐的理论,力求用严谨的方法计算女王的攻击距离。只要攻击距离小于 5 格,那就打得到,反之打不到。
有时候我们不需要记住这些繁琐的理论,因为依靠经验能更快地做出判断。嫌纯理论的东西繁琐的玩家可以看这篇文章的前半部分:女王的射程快速算法和冰冻的极致放置(多图预警)。
我的理论是经过实际检验的,其逻辑能够自洽,同时也能实现理论和实践的统一。如果您认为哪个地方有问题,可以通过网站中的联系方式联系我们。
一、计算前需要了解的知识点
1、勾股定理
这是个数学问题,这个网站不讲数学,我们默认你会。
下面涉及到计算时,我会直接把斜边叫做 c,两个直角边分别叫 a 和 b.
2、判定面积
在本站的升级数据模块,你一定见过“判定面积”这几个字。网站中是这么解释的:
所有建筑都有占地面积,也有判定面积。而仔细看不难发现远程兵种的攻击不是直接打在建筑物占地边缘的,而是占地里面一点的部分,这一块是伤害判定面积。虽然说兵种只要打在建筑的占地面积之内就可以造成伤害,但是兵种只有够得着判定面积才会去攻击。
游戏中有两个例外:
(1) 把实验室和普通 3×3 建筑间隔两格放置,理论上电龙可以连锁,但实际上不能。
(2) 把兵营和普通 3×3 建筑间隔两格放置,理论上电龙可以连锁,但实际上不能。
敲黑板,划重点:兵种只有够得着判定面积才去打。
3、我为什么能确定女王射程是 5 格
不确定的东西我们不会写出来,就算写出来也会标明是非权威数据。在5格这个结论白纸黑字写在网站上之前,我们已经通过对接国外数据、解游戏安装包等手段进行了确认。
4、女王的位置如何确定
本文统一使用以下几个原则确定女王位置:
(1) 我把最靠近建筑的那个点视为女王的位置(不算女王的武器);
(2) 站立的女王一定位于格子边缘,正在走的女王以 0.5 格为最小单位取近似值。
游戏中女王的位置不一定是这样,但是本文建立的理论基于这种判断,算出结果之后再加上“女王自身占位大小”修正。
其实把女王的影子作为实际位置比较准确,但是一方面影子不好算,另一方面从上方进攻时影子容易被建筑挡住。
5、女王自身占位大小
在确定女王位置的时候我使用了最靠近建筑的那个点,但我毕竟不是游戏开发,这么计算一定有偏差,我把这个偏差称为“女王自身占位大小”,这个值一定不为 0. 根据部落冲突指导团队的测试,这个值大于 0.05 格,但小于 0.26 格。你可以把“女王自身占位大小”理解为女王的厚度,也就是女王有多胖。
6、本文只讨论女王在某个位置能不能打到,不讨论女王的走位。
笔者认为女王的走位原则是:喝最多的油,绕最远的路,日最厚的墙。
7、如无特殊说明,本文中所有的距离单位均为“格”。
这里我给格下一个定义:“格”指的是部落冲突中建筑产生移动操作需要的最小距离。
在本文中,“格”作为长度单位使用时请全部按照此定义理解。
二、开始计算
为了便于大家理解,我采用一套循序渐进的流程,从易到难。
例一:女王正对建筑
这种情况下女王和圣水收集器的距离是多少呢?我来把上面这张图抽象一下。
圣水收集器大小是 3×3,女王站在圣水收集器正前方,距离边缘两格。
上图标明了女王和圣水收集器边缘的距离(2 格),但这不是真正的距离。实际上建筑有个判定面积,比如说圣水收集器的判定面积是 2×2(其实大部分 3×3 建筑的判定面积都是 2×2),所以圣水收集器核心区*外面还有 0.5 格的宽度。
* 这里我给建筑判定面积之内的部分起个名字叫核心区;判定面积之外,但仍属于建筑占地面积的部分叫外围区域。
别急,还没结束。女王和圣水收集器的距离是 2.5 格吗?不是的,因为女王不是紧贴着格子边缘,而是有一定距离的。上面我说了,这个距离大于 0.05 但是小于 0.26,虽然我们不知道准确值,但为了方便计算,我们假设女王自身占位为 0.1 格。
这样一来,女王和圣水收集器的距离是 2.6 格,而射程是 5 格,所以可以打到。
例二:女王在圣水收集器的斜对面
在此例中:
再加上女王自身占位 0.1,此时女王距离建筑 3.9 格 < 5 格,能打到。
例三:女王打兵营
兵营为什么要单独拿出来呢?因为它特殊。刚才说的圣水收集器是一种很普通的建筑,大部分情况下,建筑大小是 3×3,判定面积是 2×2,但兵营不一样。兵营的占地面积是 4×4,判定面积是 2×2,也就是说兵营的核心区域外面还有一格宽度。
本例中斜边长为 5.22,加上女王自身占位 0.1,共计 5.32 格,超出了女王射程,所以打不到。
例四:女王打实验室
实验室这个建筑也特殊。2019 年 12 月更新缩小了实验室的占地面积(由 4×4 改成了 3×3),但是它的判定面积不变,仍然是 3×3. 这意味着实验室没有外围区域,全是核心区。
例五:女王打大本营(或天鹰火炮)
大本营占地面积 4×4,判定面积 3×3,同时天鹰火炮也是这样。这个单独拿出来是因为我们经常需要打用天女偷大本或天鹰火炮。
图不好找,我就用开头提到的这个例子吧!不多说,直接上图。
在此例中,三角形斜边的长度是 4.3 格,加上女王自身占位之后是 4.4,小于 5 格,所以能打到。
现在可以解答这个问题了:开头提到的那名玩家错在哪里了?
他把女王位置画在了格子中间,在他的图中女王自身占位达到了 0.7 格之多(二分之根号二),实际上是没那么大的,因此出现了错误。
如果我把上面那张图改一下,把大本营往下移一格,情况变成了这样:
这种情况下斜边长度是 4.95,加上女王自身占位后就是 5.05,这个值已经大于女王射程(5 格),女王是打不到大本营的,实际战斗中也确实打不到。
三、女王厚度是怎么推断的
女王自身占位大于 0.05 格但小于 0.26 格这个结论是怎么得出的?
这是我们多次测试得出的结论。
刚才在女王打大本营的例子中,我把大本营往下移了一格,然后就打不到了。往下移一格之后,斜边长度是 4.95,既然打不到说明实际距离大于 5,那么实际距离至少要比斜边长 0.05 格。(命题前半部分证明完毕)
下图中,红点是女王的位置,进攻目标是防空火箭。
这里建一个坐标轴,左下到右上方向的长度为 x,左上到右下方向的长度为 y,则 x = 4.5,y = 1.5,斜边 4.74,理论上能打到,实际上也确实能打到。
这种情况下,实际距离小于 5 格,说明实际距离最多比斜边长 0.26 格。(命题后半部分证明完毕)
其实你只要知道了建筑的占地面积、判定面积和女王的位置,你就能通过上面的方法判断出女王能不能到建筑。为了减小篇幅,我就不把各种情况都列出来了,最终还是要具体情况具体分析。