2014-09-06 119 views
0

我正在用Jcreator製作一個小RPG。RPG傷害計算?

我給你一開始就選擇的傷害屬性,我們就以劍士爲例。

我給了他10點傷害和傷害我做了intHit

我的問題是這個隨機數對於傷害不太好,因爲它在實際攻擊範圍內給我造成傷害。

Hit = 1 + (int) ((Math.random() * (Damage - 1)) +1); 
+1

我不明白你在這裏問什麼...... random()*根據定義,損壞將會導致一個小於Damage的值。 – Yeraze 2014-09-06 02:25:56

+1

你想要10點成爲最小的傷害,並有機會獲得更高的? – Shadow 2014-09-06 02:26:52

+0

沒有10是平均傷害,我想要5更多,5更少,我沒有編程在一段時間,所以即時通訊類型不穩定 – user3670236 2014-09-06 02:29:13

回答

1

您需要始終知道您的隨機數生成器的界限。

僞代碼,生成從最小和最大隨機空間數,

Result = Minimum + (Maximum - Minimum) * (Random() - RandMin)/(RandMax - RandMin) 
0

類似下面應該工作,並給你一個數在5範圍高於或低於你的傷害:

randomNum = Damage-5 + (int)(Math.random()*Damage+1); 

我測試,它似乎爲我工作,沒沒有得到低於5或大於15的數字

1

試試這個:

hit = (int)(Math.random() * range) + min; 

哪裏範圍=你想要的最大值減去最小值你想,即,

int range = (max - min) + 1;