我正在用Jcreator製作一個小RPG。RPG傷害計算?
我給你一開始就選擇的傷害屬性,我們就以劍士爲例。
我給了他10點傷害和傷害我做了int
Hit
。
我的問題是這個隨機數對於傷害不太好,因爲它在實際攻擊範圍內給我造成傷害。
Hit = 1 + (int) ((Math.random() * (Damage - 1)) +1);
我正在用Jcreator製作一個小RPG。RPG傷害計算?
我給你一開始就選擇的傷害屬性,我們就以劍士爲例。
我給了他10點傷害和傷害我做了int
Hit
。
我的問題是這個隨機數對於傷害不太好,因爲它在實際攻擊範圍內給我造成傷害。
Hit = 1 + (int) ((Math.random() * (Damage - 1)) +1);
您需要始終知道您的隨機數生成器的界限。
僞代碼,生成從最小和最大隨機空間數,
Result = Minimum + (Maximum - Minimum) * (Random() - RandMin)/(RandMax - RandMin)
類似下面應該工作,並給你一個數在5範圍高於或低於你的傷害:
randomNum = Damage-5 + (int)(Math.random()*Damage+1);
我測試,它似乎爲我工作,沒沒有得到低於5或大於15的數字
試試這個:
hit = (int)(Math.random() * range) + min;
哪裏範圍=你想要的最大值減去最小值你想,即,
int range = (max - min) + 1;
我不明白你在這裏問什麼...... random()*根據定義,損壞將會導致一個小於Damage的值。 – Yeraze 2014-09-06 02:25:56
你想要10點成爲最小的傷害,並有機會獲得更高的? – Shadow 2014-09-06 02:26:52
沒有10是平均傷害,我想要5更多,5更少,我沒有編程在一段時間,所以即時通訊類型不穩定 – user3670236 2014-09-06 02:29:13