Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java RPG伤害计算?_Java_Math_Random_Generator - Fatal编程技术网

Java RPG伤害计算?

Java RPG伤害计算?,java,math,random,generator,Java,Math,Random,Generator,我正在使用Jcreator制作一个小RPG 我给你一开始选择伤害的任何角色,我们将以剑客为例 我给了他10点伤害,对于命中伤害,我打了int一拳 我的问题是,这个随机数对伤害不起作用,因为它在实际攻击范围内给我造成伤害 Hit = 1 + (int) ((Math.random() * (Damage - 1)) +1); 类似于以下的东西应该可以工作,并给你一个高于或低于你的伤害5的数字: randomNum = Damage-5 + (int)(Math.random()*Damage+1

我正在使用Jcreator制作一个小RPG

我给你一开始选择伤害的任何角色,我们将以剑客为例

我给了他10点伤害,对于命中伤害,我打了
int
一拳

我的问题是,这个随机数对伤害不起作用,因为它在实际攻击范围内给我造成伤害

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

类似于以下的东西应该可以工作,并给你一个高于或低于你的伤害5的数字:

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

我对它进行了测试,它似乎对我有效,没有得到低于5或大于15的数字,你需要始终知道随机数生成器的界限

在伪码技术中,从一个具有最小值和最大值的随机空间生成一个数

Result = Minimum + (Maximum - Minimum) * (Random() - RandMin) / (RandMax - RandMin)
试试这个:

hit = (int)(Math.random() * range) + min;
其中,范围=所需的最大值减去所需的最小值,即

int range = (max - min) + 1;     

我不明白你在问什么。。。random()*根据定义,伤害值将小于伤害值。你希望10是最小伤害值,并且有机会得到更高的伤害吗?不10是平均伤害,我希望多5点,少5点,我有一段时间没有编程了,所以我有点shaky@user3670236为了澄清,您的
int
Damage
等于
10
,您希望
Hit
5-15
范围内;您是否希望范围一般从
损坏/2
3*损坏/2
?或者您希望范围从
损坏-5
损坏+5
?例如,如果
Damage
为20,您希望范围是
10-30
还是
15-25
?使用java.util.Random中的nextInt