首先,在第一個大風(fēng)(在20幀產(chǎn)生的)提供的風(fēng)刀增益在20幀+372幀=392幀后失去之前,額外傷害都是0,因 為在此之前不存在符合額外傷害定義的大風(fēng)傷害。第一次額外傷害會從392幀開始產(chǎn)生,一直到12幀后的404幀結(jié)束。從404幀到392幀的一個大風(fēng)周期 40幀后,多余的傷害都為0。接著然后重復(fù)12幀大風(fēng)傷害,0的周期模式。因此額外傷害可以用跟幀數(shù)相關(guān)的函數(shù)來表示。額外傷害=stack(增益倍 數(shù))*大風(fēng)一幀的傷害*判斷函數(shù)。判斷函數(shù)是一個判斷某一幀應(yīng)不應(yīng)該有額外傷害的函數(shù),具體形式在進(jìn)的分析會有討論。 [4]現(xiàn)在,我們已經(jīng)可以計(jì)算戰(zhàn)斗過程中所有幀數(shù)的傷害了,用函數(shù)表示為:整體傷害=同步傷害+額外傷害。整體傷害在戰(zhàn)斗開始后0幀到600幀的模式如下 圖所示(X軸為時(shí)間/幀數(shù),Y軸為武器傷害)
[5]因?yàn)閼?zhàn)斗時(shí)間越長,戰(zhàn)斗中后面周期性的傷害占比最高,所以計(jì)算20幀間隔的平均武器傷害,只要算出392幀后任意一個40幀周期的傷害均值即可。
2.組隊(duì)輸出模型的進(jìn)階分析
在獲得具體20幀攻速間隔,戰(zhàn)斗中所有幀數(shù)傷害以及風(fēng)刀層數(shù)的判斷公式之后,通過推導(dǎo),我們可以歸納出對于所有攻速間隔都適用的通用公式,下面就是具體的推導(dǎo)過程以及附上我真實(shí)計(jì)算所用的公式組。
A.適用于所有攻速間隔,戰(zhàn)斗開始后某一幀的風(fēng)刀層數(shù)通用公式歸納 [1]首先我們觀察由20幀攻速間隔得到的具體風(fēng)刀層數(shù)公式: stack(風(fēng)刀層數(shù))=Floor[1+(幀數(shù)/20)];{幀數(shù)<392幀} stack(風(fēng)刀層數(shù))=Floor[1+(幀數(shù)/20)]-2*Floor[1+(幀數(shù)/40)];{幀數(shù)≥392幀} [2]可以發(fā)現(xiàn)分段情況是以第一次大風(fēng)提供的增益層數(shù)消失為分界點(diǎn),因?yàn)楣ニ匍g隔是20幀,所以第一次消失是發(fā)生在372幀(層數(shù)持續(xù)時(shí)間)+20幀(第 一次大風(fēng)出現(xiàn)的幀數(shù))。在這372幀+20幀之前,風(fēng)刀的層數(shù)都是每隔一次攻速間隔增加一次的。由此歸納可得,假設(shè)人物的攻速間隔為X,在372幀+X幀 之前,風(fēng)刀的層數(shù)是每X幀增加一層的,處于兩次X幀之間的層數(shù)狀態(tài)與前一次X幀的時(shí)候相同。用函數(shù)表示為:stackx(風(fēng)刀層數(shù))=Floor[1+ (幀數(shù)/X)] ;{幀數(shù)<372幀+X幀},其中Floor[1+(幀數(shù)/X)]這個也是風(fēng)刀層數(shù)的獲得函數(shù)。 [3]接著我們觀察20幀攻速間隔下,392幀后風(fēng)刀層數(shù)的變化模式。由上面我們可以知道,風(fēng)刀層數(shù)增加的模式還是每隔20幀增加一層,但是現(xiàn)在風(fēng)刀層數(shù) 已經(jīng)不直接與風(fēng)刀獲得層數(shù)直接鉤掛了,因?yàn)閺?92幀開始,我們就會周期性失去一個大風(fēng)提供的風(fēng)刀增益層數(shù),每一幀的風(fēng)刀層數(shù)應(yīng)該是由獲得層數(shù)和失去層數(shù) 共同計(jì)算所得。因?yàn)轱L(fēng)刀層數(shù)失去的模式是跟產(chǎn)生一個大風(fēng)的周期相同,所以在人物攻速間隔為X的情況下,失去風(fēng)刀層數(shù)是間隔2X的周期函數(shù)。從20幀得到的 公式歸納,stackX(失去風(fēng)刀層數(shù))=2*Floor[1+((幀數(shù)-(372+X))/(2*X))]。所以,對應(yīng)幀數(shù)≥X+372幀的幀數(shù),風(fēng)刀 的層數(shù)等于這一幀風(fēng)刀獲得層數(shù)減去風(fēng)刀失去層數(shù)。函數(shù)形式為:stackx(風(fēng)刀層數(shù))=Floor[1+(幀數(shù)/X)]-2*Floor[1+((幀數(shù) -(372+X))/(2*X))] 當(dāng){幀數(shù)≥372幀+X幀}[總結(jié),適用于所有攻速間隔,戰(zhàn)斗開始后某一幀的風(fēng)刀層數(shù)通 用公式如下: stackx(風(fēng)刀層數(shù))=Floor[1+(幀數(shù)/X)];{幀數(shù)<372幀+X幀} stackx(風(fēng)刀層數(shù))=Floor[1+(幀數(shù)/X)]-2*Floor[1+((幀數(shù)-(372+X))/(2*X))];{幀數(shù)≥372幀+X 幀} B.適用于所有攻速間隔,戰(zhàn)斗開始后的某一幀的實(shí)際傷害通用公式歸納 [1]知道層數(shù)的通用公式之后,我們就可以去歸納實(shí)際傷害的通用公式了。首先先建立風(fēng)刀增益倍數(shù)的函數(shù):stackx(增益倍 數(shù))=1.5+stackx*(風(fēng)刀層數(shù))*風(fēng)刀特效%。 [2]因?yàn)橥絺Σ糠质侵苯优c風(fēng)刀層數(shù)掛鉤的,既然我們知道了風(fēng)刀層數(shù)的通用公式,那么這么部分不需要任何調(diào)整,即可以計(jì)算所有攻速間隔下某一幀的同步 傷害了。函數(shù)形式為:同步傷害x=stackx(增益倍數(shù))*(Floor[stackx(風(fēng)刀層數(shù))/2]*大風(fēng)一幀的傷害+(stackx(風(fēng)刀層 數(shù))-2*Floor[stackx(風(fēng)刀層數(shù))/2])*小風(fēng)一幀的傷害)。 [3]額外傷害部分唯一與攻擊間隔掛鉤的變量,是增益倍數(shù)和判斷函數(shù)。在已經(jīng)明確增益倍數(shù)之后,只要解決判斷函數(shù)的部分,就能得到適用于全部攻速間隔情況 下的額外傷害。已知在戰(zhàn)斗開始后第一個大風(fēng)消失之前,額外傷害部分都是0。假如人物的間隔幀數(shù)為X,那就就是說在372幀+X幀之前,額外傷害都為0。所 以這就是判斷函數(shù)的第一部分,當(dāng)幀數(shù)小于372幀+X幀之前,判斷函數(shù)直接等于0。然后,第一組12幀的額外傷害會在372幀+X幀之后開始產(chǎn)生。12幀 之后到下一個周期,也就是372+3X幀之前額外傷害都等于0。為了達(dá)到這樣的判斷效果,聯(lián)合在372幀+X幀之前傷害等于0,我寫了一組判斷函數(shù),如 下: 判斷= -1*幀數(shù) ; {幀數(shù)372 + X} 判斷= ((幀數(shù)-(Floor[(幀數(shù)-(372+X))/(2*X)]*(2*X)+(372+X))) 判斷0=If[0≤判斷[幀數(shù), X] <= 1, 1, 0] 綠色部分的作用是自動判斷離你輸入的幀數(shù),最近的一個372+X的周期。然后用你輸入的幀數(shù)減去這個幀數(shù),如果/12,也就是在額外傷害的12幀周期內(nèi), 得到的數(shù)值就是0到1之間數(shù)字,否則就是大于1的數(shù)字,然后小于372幀+X幀情況,得到的數(shù)字全為負(fù)數(shù)。在此基礎(chǔ)下,我們可以建立真正的判斷函數(shù),如果 判斷0在你輸入那一幀的數(shù)值不在0和1之間,判斷函數(shù)的輸出就是0,反之亦然。在這個判斷函數(shù)的基礎(chǔ)上,我們可以建立適用于所有攻速間隔,額外傷害部分的通用公式:額外傷害X=判斷0*大風(fēng)一幀的傷害*stackx(增益倍數(shù))。[4]至此,我們已經(jīng)得到了適用于所有攻速間隔,計(jì)算開始戰(zhàn)斗后某一幀的傷害的公式:傷害X=額外傷害X+同步傷害X。我們也可以分析所有攻速間隔的傷害,收益和其他的數(shù)據(jù)。
小編推薦閱讀本站所有軟件,都由網(wǎng)友上傳,如有侵犯你的版權(quán),請發(fā)郵件[email protected]
湘ICP備2022002427號-10 湘公網(wǎng)安備:43070202000427號© 2013~2025 haote.com 好特網(wǎng)