This question already has answers here:
How do I generate random integers within a specific range in Java?
                                
                                    (66个答案)
                                
                        
                5年前关闭。
            
        

这不仅仅是寻找随机数,

我正在寻找的答案是如何将表达式添加到随机数以基于该表达式计算数字。

例如,一系列数字中的基本随机数,
+角色的当前等级,
*角色的伤害加成。

如果我创建的角色在java这样的两个数字之间造成损坏,

Damage = 44 to 55 per hit并且我要将其写入变量,该怎么办?

我正在尝试这个

double BottomDamage = 44 + level * 1.9;
double TopDamage = 55 + level * 1.9;


如果损坏在这两个数字之间44 through 55 + level * 1.9,写这样的东西的正确方法是什么?

最佳答案

您应该使用方法damage编写一个接口,每种字符类型都有一个实现此接口的类。

public interface CausesDamage ()
{
    public double damage ();
}

public abstact class CharacterType implements CausesDamage ()
{
   private int _level;
   ...
   public abstract double damage ();
   ...
   public int getLevel ()
   {
       return _level;
   }
}

public class Warrior extends CharacteType ()
{
   public static final int MIN_DAMAGE = ..;
   public static final int MAX_DAMAGE = ..;
   ...
   private Random rand = new Random();
   ...
   public double damage ()
   {
       return rand.nextInt(MAX_DAMAGE-MIN_DAMAGE+1)+MIN_DAMAGE + getLevel()*1.9;
   }
}

关于java - 用Java计算两个数字之间的损失,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24976657/

10-11 09:24
查看更多