三角轮DPS分析 - 最终版本

道歉

首先,我要郑重道歉,之前的分析或多或少都有些问题:第一版和第二版因为没有实测,误认为三角形的额外伤害要算自身;第三版带两个 faster 没能考虑到空转的问题,带一个 faster 意外多算了 \(5\)k 的 DPS。

给大家造成了不必要的困扰,我感到非常抱歉。因此,这一版在有实际测试结果的基础上,修正了之前的所有问题,争取做到准确无误。

同时,本文将发表成专栏形式,以方便后续更改。


公式推导

设每个三角形的基础伤害为 \(a\),额外伤害为 \(b\),数量为 \(n\),怪物的护甲为 \(v\)(默认三角形能够破甲)。则单个三角形的伤害 \(d\) 为:

\[a+(n-1)b-v \]

设转速为 \(s \textrm{ rad/s}\),则有每圈所需时间 \(t\) 为:

\[\frac{2 \pi}{s} \textrm{ s/r} \]

这样就可以得出 DPS \(D\) 为:

\[\frac{nd}{t} = \frac{n(a+(n-1)b-v) s}{2 \pi} \]


理论计算

代入数据:对于 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 满配



posted @ 2025-04-03 16:28  Jerrycyx  阅读(2715)  评论(0)    收藏  举报