【问题标题】:RPG Damage Calculations? [closed]RPG伤害计算? [关闭]
【发布时间】:2014-10-31 00:24:13
【问题描述】:

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

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

我给了他 10 点伤害,而对于命中伤害我给了int Hit

我的问题是这个随机数不能很好地用于伤害,因为它在实际攻击范围内给我造成伤害。

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

【问题讨论】:

  • 我无法理解你在这里问什么... random() * 根据定义,Damage 将导致小于 Damage 的值。
  • 你希望10成为最低伤害,并有机会获得更高的伤害吗?
  • 没有 10 是平均伤害,我想要多 5 少 5,我有一段时间没有编程所以我有点不稳定
  • @user3670236 澄清一下,您有int Damage 等于10,并且您希望Hit5 - 15 的范围内;您是否希望范围从Damage/23 * Damage/2?或者您希望范围从Damage - 5Damage + 5?比如,如果 Damage 是 20,你希望范围是 10 - 30 还是 15 - 25
  • 使用 java.util.Random 中的 nextInt ideone.com/AyyTHB

标签: java math random generator


【解决方案1】:

您需要始终了解随机数生成器的范围。

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

Result = Minimum + (Maximum - Minimum) * (Random() - RandMin) / (RandMax - RandMin)

【讨论】:

    【解决方案2】:

    试试这个:

    hit = (int)(Math.random() * range) + min;
    

    其中范围 = 您想要的最大值减去您想要的最小值,即,

    int range = (max - min) + 1;     
    

    【讨论】:

      【解决方案3】:

      类似下面的东西应该可以工作,并给你一个在你的伤害之上或之下 5 范围内的数字:

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

      我测试了它,它似乎对我有用,没有得到低于 5 或​​大于 15 的数字

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-02-23
        • 1970-01-01
        • 1970-01-01
        • 2011-07-18
        • 2020-03-03
        • 2014-12-28
        • 2012-01-10
        • 2017-01-29
        相关资源
        最近更新 更多