魔塔1.12 傷害計算

魔塔V1.12

魔塔V1.12,其中普通怪有攻擊力和防禦力兩個屬性英雄也有攻擊力和防禦力兩個屬性。
KO掉一個普通怪的掉血量與上述四個屬性相關。但是遊戲中各個階段能獲得的加點是有限的,因此需要合理的搭配加點以達到最優。

數學計算

怪的攻擊力和防禦力分別爲a0a_0d0d_0
英雄的攻擊力和防禦力分別爲aadd
總共可以分配的加點數爲tt

a+d=ta+d=t
假設怪的血量爲BB,則KO掉這個怪的掉血量爲:
b=Bad0(a0d)=Ba0dad0b=\frac{B}{a-d_0}\cdot(a_0-d)=B\cdot\frac{a_0-d}{a-d_0}
怪的血量一定,也即只需要考慮式:
θ=a0dad0\theta=\frac{a_0-d}{a-d_0}
化簡該式:
θ=a0(ta)ad0=ad0+d0+a0tad0\theta=\frac{a_0-(t-a)}{a-d_0}=\frac{a-d_0+d_0+a_0-t}{a-d_0}
=1+a0+d0tad0=1+\frac{a_0+d_0-t}{a-d_0}
a0+d0=t0a_0+d_0=t_0,則有
θ=1+t0tad0\theta=1+\frac{t_0-t}{a-d0}
由於ad0>0a-d_0>0必然成立(否則不能對怪造成傷害),因此掉血量只與ad0a-d_0有關。
現分情況討論,

(a)t0<tt_0<t

也即怪的總點數小於英雄的總點數。
此時θ=f(a)\theta=f(a)爲雙曲線函數,位於第二、四象限,對稱中心爲(d0,1)(d_0,1)
示例:y=1+1x2y=1+\frac{-1}{x-2}的函數圖像
在這裏插入圖片描述
因此,d0<a<=d0+tt0d_0<a<=d_0+t-t_0時,能無傷。其它情況下,有傷,且aa越大,掉血越多。

(b)t0>tt_0>t

也即怪的總點數大於英雄的總點數。
示例:y=1+1x2y=1+\frac{1}{x-2}的函數圖像
在這裏插入圖片描述
也即aa越大,受傷越小。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章