如何判断女王能否打到某个建筑——女王攻击距离分析

前言

之前有玩家提出了一个女王射程的问题,他说女王的射程应为5.5格,而非网站中说的5格,还给出了计算的图。

女王射程实战案例

女王射程分析(错误)

他的看法是:内圈圆的半径是5格,和吹风机、大本营的“判定面积”均没有相交。而如果攻击距离是5.5格,那么符合游戏内的实际情况,攻击距离与判定面积相交,可以攻击到吹风机和大本营。

其实这个图是有问题的,我先不说他错在哪儿,你看完正确的算法之后就知道了。

什么?你连前言都没看懂?不要慌,后面会给你解释。

这是一篇较真的文章,不太适合咸鱼玩家。本文创立了一种繁琐的理论,力求用严谨的方法计算女王的攻击距离。只要攻击距离小于5格,那就打得到,反之打不到。
有时候我们不需要记住这些繁琐的理论,因为依靠经验能更快地做出判断。嫌纯理论的东西繁琐的玩家可以看这篇文章的前半部分:女王的射程快速算法和冰冻的极致放置(多图预警)

我的理论是经过实际检验的,其逻辑能够自洽,同时也能实现理论和实践的统一。如果您认为哪个地方有问题,可以通过网站中的联系方式联系我们。


一、计算前需要了解的知识点

1. 勾股定理

这是个数学问题,这个网站不讲数学,我们默认你会。

勾股定理 示意图

下面涉及到计算时,我会直接把斜边叫做 c,两个直角边分别叫 a 和 b.

2. 判定面积

在本站的升级数据模块,你一定见过“判定面积”这几个字。网站中是这么解释的:

所有建筑都有占地面积,也有判定面积。而仔细看不难发现远程兵种的攻击不是直接打在建筑物占地边缘的,而是占地里面一点的部分,这一块是伤害判定面积。虽然说兵种只要打在建筑的占地面积之内就可以造成伤害,但是兵种只有够得着判定面积才会去攻击。

敲黑板,划重点:兵种只有够得着判定面积才去打。

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格之多(二分之根号二),实际上是没那么大的,因此出现了错误。

如果我把上面那张图改一下,把大本营往下移一格,情况变成了这样:

女王打大本营 3*3格局

这种情况下斜边长度是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格。(命题后半部分证明完毕)

其实你只要知道了建筑的占地面积、判定面积和女王的位置,你就能通过上面的方法判断出女王能不能到建筑。为了减小篇幅,我就不把各种情况都列出来了,最终还是要具体情况具体分析。