为java游戏生成攻击

时间:2015-03-21 11:56:22

标签: java math

我正在创建一个关于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.javaAttackManager.java

因此,使用我在此处粘贴的上述代码,我不想过于技术性如何工作,只是它运作得相当好。我想添加另一个乘法器(我已经从双'extraMultiplyer'中看到了它,我希望它可能只增加0.6,所以将它乘以1.6,但我不知道如何随机获得它。

1 个答案:

答案 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();