2014-09-06 118 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;