国产成人精品高清在线观看99,日韩一本之道一区中文字幕,国外亚洲成av人片在线观看,国产欧美日韩一区二区三区在线,国产精品美女久久久免费

戰(zhàn)斗系統(tǒng)深入分析

時間:2011/02/28 10:24:02 編輯:Ocean

        概述

  戰(zhàn)斗其實(shí)就是兩個數(shù)值之間的較量,攻擊方的力量A和防守方的力量D。這兩個數(shù)值受到各種情況的修正,比如樹林給予50%額外的防御加成,將會修正防守方的力量D。

  一旦修正后的A和D被用來計算勝率,以下的公式將對雙方都生效,不管誰是進(jìn)攻方,誰是防守方。

  每個單位開始戰(zhàn)斗時都有100點(diǎn)HP,并且在戰(zhàn)斗后損失一定量的HP。一旦HP在戰(zhàn)斗中降至0,這個單位就會死亡。如果一個力量3的弓箭手在戰(zhàn)斗中損失了40點(diǎn)HP,戰(zhàn)斗結(jié)束后他的力量會降至3*(1-0.4)=1.8。如果這個弓箭手開始戰(zhàn)斗時只有2.5的力量,他還是有100點(diǎn)HP,如果這次也損失了40點(diǎn)HP,戰(zhàn)斗結(jié)束后他的力量會降至2.5*(1-0.4)=1.5。

  戰(zhàn)斗是一輪一輪進(jìn)行的,每一輪都會擲一次骰子,由A和D決定誰贏得這一輪。輸?shù)舻囊环綄ゲ糠諬P。之后進(jìn)行下一輪的戰(zhàn)斗。一旦某一方的HP降至0或負(fù)數(shù),戰(zhàn)斗結(jié)束并且這個單位被消滅。

  先攻給予一個“自由”輪。這意味如果某一方有兩次先攻,這兩輪仍然如同原先一樣戰(zhàn)斗,但是如果先攻方輸?shù)袅诉@輪他不會受傷,而贏了他可以對對方正常造成傷害。

  撤退對于勝率沒有影響,它只發(fā)生在進(jìn)攻方將要死亡的一輪。

  ------------------------------------------------------------

  如果一個單位有5-7的先攻,那么它究竟有幾次先攻?

  (這一段原文比較繁瑣,我翻譯得簡單一點(diǎn))

  每個單位實(shí)際上有兩個相關(guān)的參數(shù):確定先攻和先攻機(jī)會。

  先攻=確定先攻+先攻機(jī)會所以5-7的先攻就是在每次戰(zhàn)斗中選取一個5-7之間的隨機(jī)數(shù)作為先攻次數(shù)。

  一旦戰(zhàn)斗開始,第一個要檢查的是對方是否擁有免疫先攻能力,如果沒有,先攻正常運(yùn)作。

  接下來要檢查對方是否也擁有先攻,如果也有的話,兩者先攻的差將會在戰(zhàn)斗計算被應(yīng)用。比如一個6次先攻的部隊面對一個2次先攻的部隊,相當(dāng)于前者擁有4次先攻。

  --------------------------------------------------------------

  基本公式

  修正值

  攻擊方和防守方會從一些升級(比如1級戰(zhàn)斗+10%力量)和位置(比如樹林給防守方50%防御加值)得到獎勵。這些加到單位的基本數(shù)值上,基本數(shù)值是指受傷時的力量(如果單位受傷的話)。一旦修正后的力量計算出來后,我們把攻擊方數(shù)值叫做A,防守方叫做D,之后計算傷害時就只需要這兩個數(shù)值了。

  舉個例子,一個受傷的2.5力量的弓箭手有一級戰(zhàn)斗(+10%),并且在樹林中防守(+50%),那么D=2.5*(1+10%+50%)=2.5*1.6=4

  回合

  決定每一輪成功的機(jī)會只是擲一個骰子。攻擊方贏得這一輪的概率是A/(A+D),防守方相對地是D/(A+D)。

  每一輪都會造成一個固定量的傷害。這個傷害從開始時總的100點(diǎn)HP中減去,傷害的數(shù)值由雙方的力量決定(見下)。如果上面的D=4的弓箭手被一個A=6的弓騎兵(先不考慮先攻的因素,所以選用一個免疫先攻的兵種)攻擊,在一輪中被擊中造成的傷害是24點(diǎn),這輪結(jié)束后弓箭手還有76點(diǎn)HP。

  一輪造成的傷害

  一輪造成的傷害的基本值是20點(diǎn),也就是1/5的HP,但是雙方的A和D也會影響各自造成的傷害。

  進(jìn)攻方對防守方一輪造成的傷害是:20*(3*A+D)/(3*D+A)

  防守方對進(jìn)攻方一輪造成的傷害是:20*(3*D+A)/(3*A+D)

  結(jié)果會被四舍五入成整數(shù)。所以,弓箭手一輪對弓騎兵的傷害是20*9/11=16,而弓騎兵一輪對弓箭手的傷害是20*11/9=24。

  -------------------------------------------------------------

  可能的命中數(shù)

  因?yàn)槊恳粨舳紩斐晒潭ǖ膫?,這就是說一個單位在死亡之前接受的命中數(shù)也是固定的。這個數(shù)值只取決于A和D的對比。

  還舉上面的例子,弓箭手一次受傷24點(diǎn),也就是說它會在第5次被命中的時候死亡。

  4次之后它只剩4點(diǎn)HP,第5次是致命的。

  類似的,弓騎兵一次受傷16點(diǎn),第7次被命中將會死亡。

  因?yàn)檫@個數(shù)值已經(jīng)確定,最終影響結(jié)果的只取決于雙方的命中數(shù)。

  ------------------------------------------------------------------

  基本勝率計算

  現(xiàn)在需要的東西都齊全了,就可以開始計算基本勝率。

  弓箭手要勝弓騎兵,需要在自己被命中5次之前,先命中弓騎兵7次。也就是說,勝率是在11輪戰(zhàn)斗中至少贏得7次,而每次的勝率都是D/(A+D)=0.4。我們先計算剛好11輪贏7次的概率,然后按同樣的算法計算在11輪中贏8,9,10,11次的概率,然后全部相加,就是最終的勝率。

  概率論中有一個伯努利過程,可以用一連串的事件X0X1..Xn來模擬一輪輪的戰(zhàn)斗。

  每一個事件發(fā)生的概率都是p=D/(A+D)。那么在n=11輪中贏k=7次的概率符合二項(xiàng)式分布,f(k;n,p)=C(n,k)*(p^k)*((1-p)^(n-k))。這里C(n,k)是二項(xiàng)式系數(shù),用代數(shù)式表達(dá)就是(n!)/(k!*(n-k)!)。

  把數(shù)字帶入得f(7;11,0.4)=C(11,7)*(0.4^7)*((1-0.4)^(11-7))=0.0701

  這是11次剛好贏7次的概率7%

  然后同理計算其他幾種情況,最終勝率是

  f(7;11,0.4)+f(8;11,0.4)+f(9;11,0.4)+f(10;11,0.4)+f(11;11,0.4)=0.0701+

  0.02336+0.00519+0.000692+0.0000419=0.09935

  所以弓箭手贏弓騎兵的概率大約是9.9%然后我們再來看一下如果弓箭手贏了它還會剩下多少力量。在贏的情況下,有70%的可能性被擊中4次,23%被擊中3次,5%被擊中2次,其余忽略不計。那么加權(quán)平均值是0.7*(100-4*24)+0.23*(100-3*24)+0.05*(100-2*24)=2.8+6.4+2.4=11.64HP。轉(zhuǎn)化成力量來看,2.5*11.64%=0.3。它平均只剩下0.3的力量了。這只是假設(shè)它獲勝,因?yàn)?0%的情況下它會輸?shù)簟?/p>

  ---------------------------------------------------------------------

  先攻的作用

  假設(shè)這個弓箭手有兩次先攻,這次進(jìn)攻他的是一個劍士,力量和弓騎兵一樣也是6,但是沒有免疫先攻的能力。

  那么,前兩輪的戰(zhàn)斗和之前不一樣,弓箭手如果贏了,會正常造成傷害;如果輸了,不會受到傷害。之后的戰(zhàn)斗就和以前一樣了。

  計算的時候把前兩輪分成三種情況考慮,第一種情況是頭兩輪弓箭手一箭都不中,出現(xiàn)這種情況的概率是36%,然后接下來的情況就和上面的例子完全一樣,0.09935的勝率。第二種情況是中一箭,發(fā)生的概率是48%,接下來就要在10輪中至少贏得6輪,0.194的勝率。如果兩箭都中,發(fā)生概率16%,接下來要在9輪中至少贏得5輪,0.404的勝率。

  總勝率就是0.36*0.0707+0.48*0.194+0.16*0.404=0.183

  這次弓箭手有18.3%的概率獲勝。

  -----------------------------------------------------------------------

  撤退

  (這個我也簡單翻譯一下)

  撤退只在攻擊方的最后一輪生效(防守方不能撤退)。仍然按照通常的戰(zhàn)斗進(jìn)行,萬一攻擊方這一輪會被打死時,根據(jù)這個兵種的撤退概率隨機(jī)。如果成功,退回來;失敗就死了。

相關(guān)攻略
相關(guān)游戲