我正在创建一个关于java的'高级'文本冒险游戏,以进一步了解类使用和诸如此类的东西。 我试图弄清楚攻击的逻辑,这就是我到目前为止所做的:
我想要做的是为不同的东西设置另一个随机较小的乘数,例如intel是角色将拥有的统计数据,添加乘数的最佳方法是什么?
public int magicAttack()
{
int randomMultiplyer = randomGenerator.nextInt(10);
double extraMultiplyer = randomGenerator.nextDouble();
System.out.println((character.basedmg/*10*/ + character.strength) * randomMultiplyer);
return (character.basedmg/*10*/ + character.magic) * randomMultiplyer;
}
以下是我使用的课程 Character.java和AttackManager.java
因此,使用我在此处粘贴的上述代码,我不想过于技术性如何工作,只是它运作得相当好。我想添加另一个乘法器(我已经从双'extraMultiplyer'中看到了它,我希望它可能只增加0.6,所以将它乘以1.6,但我不知道如何随机获得它。
答案 0 :(得分:1)
如果您使用的是Java utils.Random,则nextDouble()返回介于0.0和1.0之间的值。
乘以你想要的最大值和最小值(范围)的差值并加上你的最小值,你会得到一个介于最小值和最大值之间的值。
Random r = new Random();
double multiplier = (max - min) * r.nextDouble() + min;
如果你想要0到0.6,
double multiplier = 0.6 * r.nextDouble();