【问题标题】:using variables to create random integers in java在java中使用变量创建随机整数
【发布时间】:2014-04-28 01:01:03
【问题描述】:

我正在创建一个简单的 rpg 游戏,您可以在其中与怪物战斗。你的攻击是如何产生的,是通过生成一个随机数,将最大值设置为你的攻击状态。攻击属性在课程开始时声明为 0,但稍后根据玩家选择的课程设置为 3 个数字(10、15 或 20)之一。然后我使用这一行来生成玩家攻击:

charDamage = rand.nextInt(charAttackTotal) + 10;

但是当我运行它时,它给了我一个错误,说 n (charAttackTotal) 必须是正数。

这就是我获得 charAttackTotal 的方式:

static int charAttackBase = 0;   this is what is set to 10,15, or20

static int charAttackMod = 0;    this is set by what weapons the player has

static int charAttackTotal = charAttackBase + charAttackMod - 10;

但是当我把它放在一个空的类中时它工作得很好。这是在函数(方法)之外声明这些变量然后在方法内部使用的错误还是什么?如果您想查看它,我已将所有代码放在pastebin上,这是一个链接:

http://pastebin.com/RBMScyss 如果您查看 pastebin,则错误在第 124 行,尽管所有变量都在开头声明了

【问题讨论】:

  • 0 + 0 - 10

标签: java variables random


【解决方案1】:

简单地声明

    static int charAttackTotal = charAttackBase + charAttackMod;

不会导致 charAttackTotal 在您更改 charAttackBasecharAttackMod 时自动更新。每当您更改其他变量时,您都需要显式更新 charAttackTotal

另一种方法是在需要时计算charAttackTotal,可能使用函数。

【讨论】:

  • 谢谢!我使用了一个函数进行计算,然后在随机中使用该函数代替 charAttackTotal,它现在可以工作了!
猜你喜欢
  • 2011-12-17
  • 1970-01-01
  • 1970-01-01
  • 2013-05-06
  • 1970-01-01
  • 2012-10-17
  • 2011-05-09
  • 2015-04-17
相关资源
最近更新 更多