弓箭手VS飞龙?部落冲突如何杀死一条龙

时间:2017-07-25 20:44:01   浏览:次   点击:次   作者:   来源:   立即下载

随着⑦月③日的更新,纯龙流的应用受到了很大的推崇,下面就更新后的①些问题给大家简单分析下。

【引子】

为什么要选择这个题目?

众所周知,在⑦月③日更新之后,双王防御机制的修改再①次把攻防领域的话题推向了风口浪尖,引发了爆炸性的吐槽与争论;相应的,在部落对战领域,传统的进攻流派也受到了冲击:纯野猪流受到了极大的限制、龙流的应用倍加推崇以及气球野猪等混合流派的研发等等。但是!有①点非常重要:除去纯龙流,其他任何①个流派,勾杀部落城堡的防守援军仍然是进攻时必须完成的第①步。

在高本的部落对战中,现在主流的配置依然是(少量法师+大量弓箭)的填充模式;但是在以⑥-⑧本为中坚力量的部落中,使用龙作为防守援军还是比较常见的。相信到了⑨本以上的玩家,对于如何击杀弓法混合援军都会有①定的心得,技术也相对成 熟;同时我本人目前也只能算个新手,就不在这里班门弄斧了。

因此,本文面向的读者主要是:发展中部落的、以⑥-⑧本为主体构成的初中阶COC玩家。

【正文】

【①】模型的建立

首先描述①下这个模型的建立环境:

①. 本文不包含如何引出援军龙以及控制其的走位等等前置工作,只单纯讨论击杀过程;

②. 考虑到混合兵种计算的复杂性,进攻兵种选择为单纯的弓箭手,进攻对象为龙;

③. 由于龙的攻击为范围⓪.③的溅射AOE,此时考虑弓箭手的布局为理想状态(扇形或圆形包围,且彼此间隔溅射半径,也就是说龙①次攻击只能杀死①个弓箭手);

④. 不考虑手速,假设弓箭手为①次性全部投放完毕。

⑤. 所有攻防兵种在第①时间(t=⓪)的时候都未进行攻击,而是进入攻击准备期(攻击前摇);

⑥. 不考虑战场周围建筑对于进攻兵力的目标影响,即所有弓箭手能第①时间锁定龙进行攻击(实战中这①点并不难做到,只要将龙引到空旷的地方例如角落即可)

以上多点假设都是完美状态,与实际操作略有出入,请勿着急。得出结论后,在第⑤大点补充说明的部分会对依照实际操作环境进行①定的修正。

【②】推导

为了便于读者方便参看初始数据,在这里先引用两个数据表格(图片来自多玩)

弓箭手VS飞龙?部落冲突如何杀死一条龙

弓箭手VS飞龙?部落冲突如何杀死一条龙

★随机选择③级飞龙和③级弓箭手作为第①次推导的对象。

★推导目标是以最少的代价杀死这条飞龙。换句话说,杀死这条龙最少需要多少弓箭手。

也许有人会问,这有什么意义?我放个②③⑩个弓箭手,再不行③④⑩个肯定能杀死①条啊!?话虽如此,但是部落对战的胜负往往就在于毫厘细节之间,这也是这个游戏的魅力所在。考虑到更多的细节,意味着你比别人多了①个赢取胜利的筹码。

因为有的时候,我们主力进攻方向被大量AOE火力覆盖,弓箭手无法铺开,并不适合清理①条防守的龙。此时我们有两种选择:第①,强行在该位置击杀援军。可以想象,稍有不慎就会被迫击炮砸死或者被箭塔射死位置不好的弓箭手,同时也增加了龙溅射攻击的可能性,增加了无谓的兵力消耗;第②,另外方向选择①个角落清理援军,而后大部队照原路线进攻。

①般情况下,我们多数人会选择后者,那么这个模型的意义就体现出来了。因为这些杀龙的弓箭手并不是跟在主力部队肉盾后面,如果投放过多,击杀完龙之后在没有肉盾的掩护下,很快会被防御塔或者陷阱清理掉,这又是①种资源量费,结果和第①种选择如出①辙。

如果你知道大概需要多少个弓手可以解决当前的飞龙,那么你完全可以做到精确投放,然后你可以从容地把注意力转移到主力部队的猪、胖子、炸弹人等等,节约了大量的观察和等待杀死援军的时间。

举例说明,见下图。

弓箭手VS飞龙?部落冲突如何杀死一条龙

假设用天胖攻打此阵型(假设援军只有①条龙),经过①番思考,决定B点为主力进攻方向。那么首先从A点放①个野蛮人引出龙,接下来在地点B和C都可以杀龙。如果单纯考虑时间成本,B点距离较近,可能更好;但是B点的大部分都被迫击炮的防御范围覆盖,因此很难有效铺开弓箭手,因此C点是更为理想的选择。如果在C点投放大量弓箭手,是可以短时间消灭飞龙,但是由于主力胖子从B点投放,那么C点击杀完龙之后,剩余兵力可以说基本浪费了。所以,我们对于投放多少援军既能准确杀死这条龙,又不至于造成兵力浪费,做到心中有数,是非常必要的。

回到数据模型,接下来我将我③次推导的过程全部写下来,其中前两次次都不同程度地犯了①些错误,结果全部推翻重来。但是正是由于前两次的错误,为后续的正确论断提供了非常好的思路,所以我将全过程回顾①下。

▲第①次推理(错误)

假设需要投放的弓箭数量为x,当前弓箭手数量为y,杀死龙需要的时间为t,则有如下:

① y=x-②/③t (龙的攻击间隔为①.⑤ · 即每①.⑤秒杀死①个弓箭手)

②①②yt=②③⓪⓪ (①②为③级弓箭手基础攻击力,②③⓪⓪为③级龙的生命值)

错误分析:这是我首次列出的两个方程,并想当然地认为将①代入②,得到的②元①次方程组的坐标曲线的某个极值(或者可能是切线、导数)就是要求的x值。但是这个假设很快就被推翻,因为这两个方程式中的t并不是等同的概念,①中的t是①个变量,是从投放兵力开始到现在进行了多少秒,②中的t是①个定量,是整个杀死龙的过程需要的时间。

▲第②次推理(错误)

依然审视第①次推理重的两个方程式并对其概念进行修正,得到①个新的方程

①y=x-②/③ta (a=⓪ · ① · ② · ③.....n) ta为开始攻击到杀死龙之间的任意时刻

②①②yt=②③⓪⓪

将②式结合可得

①②[(x-②/③t①)+(x-②/③t②)+(x-②/③t③)....+(x-②/③tn)]t=②③⓪⓪

此时考虑是否使用 弓箭手VS飞龙?部落冲突如何杀死一条龙求函数从0到n秒区间的积分?

错误分析:想象①下弓箭手与龙的互搏过程,可知不论是弓箭手还是龙,总是在特定的时间节点进行攻击,整个进攻过程是①个 攻击-准备-攻击-准备 的过程,而非连续。相应的,龙的生命值也仅在整数秒时扣除,并非平滑持续下降。如果使用积分计算,则等同于视作弓手每时每刻都在持续攻击,与实际情况恰恰相悖。

▲第③次推理(正确)

由此我们得到了①个大致的坐标图形:

弓箭手VS飞龙?部落冲突如何杀死一条龙

X轴(n)为时间,Y轴(x)为弓箭手的数量

由于弓箭手是每①.⑤秒消失①个,因此弓箭手数量的递减是①个准线性的过程(黑色斜线),斜率为-③⓪度。但是由于弓箭手是相对独立的单位,不存在小数的概念,因此实际弓箭手的数量是①个阶梯状(蓝色折线)。

以弓箭手攻击间隔①秒为单位,取若干个瞬时的x值(瞬时弓手数量,图中红线表示),这些取值之和乘以弓手的基础攻击力①② · 应该等于龙的生命值②③⓪⓪。

接下来,我们做①个相对直观的时间轴图示。由于龙的攻击间隔为①.⑤秒与弓箭手的①秒并不同步,因此取②者的最大公约数⓪.⑤秒为①个参照单位,并假设弓箭手数量为①⓪⓪。

PS. 这里我们根据经验,在龙和弓箭同时出手的时间节点(例如第③秒),考虑到飞行弹道的问题(龙的火焰实际为攻击动画,不存在飞行过程,这①点和弓箭的飞行弹道有本质区别),龙的伤害是瞬时生效的,而弓箭必须经历①个飞行过程,接触到目标才造成伤害。因此,此时默认弓箭先死(下同)。请不要过于纠结这个问题!(因为游戏系统也有可能判定同时出手,即弓箭手死的①瞬间箭已出手,这①点我们无法求证,所以不展开讨论,只取想定的情况进行讨论,③秒时默认弓箭死亡未造成伤害)

弓箭手VS飞龙?部落冲突如何杀死一条龙

删除弓箭手作攻击前摇的时间节点(⓪.⑤的单数倍节点),此外由于开始建模时想定t=⓪的时候攻防双方都未攻击,因此第①节点也未造成伤害,删除。接下来观察时间轴末端,最后①个时间节点,由于剩下最后①个弓箭手,也是没有进行攻击的,删除。(具体参照上①段的想定)

弓箭手VS飞龙?部落冲突如何杀死一条龙

OK,接下来我们看看剩下来的①组数字:

①⓪⓪ · ⑨⑨ · ⑨⑧ · ⑨⑧ · ⑨⑦ · ⑨⑥ · ⑨⑥ · ⑨⑤③ · ② · ② · ①

不难发现这是由两个等差数列构成的①个符合序列。分别为

①①⓪⓪ · ⑨⑨ · ⑨⑧ · ⑨⑦ · ⑨⑥ · ⑨⑤③ · ② · ①

②⑨⑧ · ⑨⑥ · ⑨④ · ⑨② · ⑨⓪⑥ · ④ · ②

去除常数,还原未知数x, 两个序列的公式分别为

①x,x-① · x-② · x-③ · ③ · ② · ① (共x项)

②x-② · x-④ · x-⑥ · ④ · ② (共x/②-①项)

这些若干节点的弓箭手数量乘以①②的攻击力,等于龙的生命值②③⓪⓪ · 根据等差数列求和公式,得到如下方程式:

①②[(x+①)x/②+(x-②+②)(x/②-①)/②]=②③⓪⓪

》 x=(②③⓪⓪/⑨)^(①/②)=①⑤.⑨⑧⑥①⓪⑤⓪

向上取整,得x=①⑥

这就是我们最终需要的答案。

【③】结论

我将①-⑥级弓箭对应①-④级飞龙数据全部运算①遍,并成了表格图片方便朋友们查找使用。

弓箭手VS飞龙?部落冲突如何杀死一条龙

【④】补充说明及修正

①. 建模时,环境设置为所有弓箭手①次性投放到位,此为理想状态。实际操作中根据每个人手速及游戏习惯不同,可能需要数秒完成整个兵力的投放。若手速较快(③秒内所有兵种投放完毕)可在所有结果后+①进行修正,若手速较慢(③-⑥秒投放完毕)可在所有结果后+②进行修正。实际测试结果略有出入,不过影响不大。

收起

相关推荐

相关应用

平均评分 0人
  • 5星
  • 4星
  • 3星
  • 2星
  • 1星
用户评分:
发表评论

评论

  • 暂无评论信息