使用变量在java中创建随机整数

时间:2014-04-28 01:01:04

标签: java variables random

我正在创建一个简单的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行,所有变量都在开头声明

1 个答案:

答案 0 :(得分:2)

简单地声明

    static int charAttackTotal = charAttackBase + charAttackMod;
每当您更改charAttackTotalcharAttackBase时,

都不会导致charAttackMod自动更新。每当您对其他变量进行更改时,您都需要明确更新charAttackTotal

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