三角轮DPS分析 - 最终版本
道歉
首先,我要郑重道歉,之前的分析或多或少都有些问题:第一版和第二版因为没有实测,误认为三角形的额外伤害要算自身;第三版带两个 faster 没能考虑到空转的问题,带一个 faster 意外多算了 \(5\)k 的 DPS。
给大家造成了不必要的困扰,我感到非常抱歉。因此,这一版在有实际测试结果的基础上,修正了之前的所有问题,争取做到准确无误。
同时,本文将发表成专栏形式,以方便后续更改。
公式推导
设每个三角形的基础伤害为 \(a\),额外伤害为 \(b\),数量为 \(n\),怪物的护甲为 \(v\)(默认三角形能够破甲)。则单个三角形的伤害 \(d\) 为:
设转速为 \(s \textrm{ rad/s}\),则有每圈所需时间 \(t\) 为:
这样就可以得出 DPS \(D\) 为:
理论计算
代入数据:对于 Ultra 等级,\(a=3645\),\(b=2916\);一般 Ultra/Super 的护甲 \(v=583\),然后写个程序分别计算。
- 当带一个 faster 时,faster 提供 \(5\)k 的 DPS。最优配速是点满转速天赋,此时转速 \(s=4.0+1.7=5.7\textrm{ rad/s}\)。
- 当带两个 faster 时,faster 提供 \(10\)k 的 DPS。最优配速是点一级转速天赋,此时转速 \(s=2.8+1.7\times2=6.2\textrm{ rad/s}\)。
| 三角形数量/个 | 一个 faster 时预估 DPS/\(\rm k\cdot s^{-1}\) | 两个 faster 时预估 DPS/\(\rm k\cdot s^{-1}\) |
|---|---|---|
| \(0\) | \(5.0\) | \(\bf10.0\) |
| \(1\) | \(7.8\) | \(\bf13.0\) |
| \(2\) | \(15.8\) | \(\bf21.8\) |
| \(3\) | \(29.2\) | \(\bf36.3\) |
| \(4\) | \(47.9\) | \(\bf56.6\) |
| \(5\) | \(71.8\) | \(\bf82.7\) |
| \(6\) | \(101.0\) | \(\bf114.5\) |
| \(7\) | \(135.5\) | \(\bf152.0\) |
| \(8\) | \(175.4\) | \(\bf\color{red}195.3\) |
| \(9\) | \(\bf\color{red}220.5\) | \(\color{gray}-\) |
总结
综合来看,三角轮最优搭配是 \(9\) triangle + \(1\) faster,这样不仅能获得理论最佳 DPS,而且因为转速没有配满且差得多,所以容错率较高。如果玩家自身能够公转补满缺失转速,甚至有机会达到 \(242.5\)k 的极限 DPS。而且也不用专门去刷够两个 Ufaster。
本次结论有实际测试支撑,\(1\) faster 满配 DPS 测试结果为 \(210\sim230\)k,\(2\) faster 测试结果为 \(190\)k 左右。(数据来自 Florr.io Official 群里的 @cin_iostream,感谢!)
附件
附件 #1:计算代码:
点击查看代码
#include<cstdio>
using namespace std;
int main()
{
const double Pi=3.1415926535897932384626;
const double a=3645,b=2916,v=583,s1=5.7,s2=6.2;
for(int i=0;i<=9;i++)
printf("|$%d$|$%.1lf$|$%.1lf$|\n",i,(i*(a+(i-1)*b-v)*s1/(Pi*2)+5000)/1000.0,(i*(a+(i-1)*b-v)*s2/(Pi*2)+10000)/1000.0);
return 0;
}
附件 #2:实测截图
$2$ faster 满配

$1$ faster 满配



本文采用 「CC-BY-NC 4.0」 创作共享协议,转载请注明作者及出处,禁止商业使用。
作者:Jerrycyx,原文链接:https://www.cnblogs.com/jerrycyx/p/18807997

浙公网安备 33010602011771号