我有一个带有条件的while循环,名为card1Hp,它是一个名为Game的类顶部定义的新实例变量。
public int card1Hp = 100;
public int card2Hp = 80;
public int card3Hp = 90;
public int card4Hp = 70;
并且在类中有一个带有while循环的方法:
while(card1Hp > 0)
我在类中有一个方法可以为我生成一个指定的随机数:
someVar= Game.getRandIntBetween(1,5);
并且它生成randVar = 1或2或3或4或5.有什么办法可以把它放入我的while循环条件。基本上我希望它是:
while(card1Hp > 0)
取而代之的是这样的某种方式
while(card(randVar)Hp > 0)
我知道这不是用java编写它的方法,但这就是我想尝试生成我想要的随机数的函数。有什么好办法实现这个目标?我计划在我的游戏中使用数百个cardhp变量进行随机化。
首先,将您的hp值放入数组:
int[] hps = {card1Hp, card2Hp, card3Hp, card4Hp};
如果要在每次检查while循环条件时使用不同的hp值,可以执行以下操作:
while (hps[Game.getRandIntBetween(0, hps.length - 1)] > 0)
否则,这样做:
int randIndex = Game.getRandIntBetween(0, hps.length - 1);
while (hps[randIndex] > 0)
我会用一个数组。像static int[] hpValues = { 100, 80, 90, 70 };
之类的东西,然后在x
(包括)和0
(独家)之间得到一个随机数hpValues.length
,你的随机“cardhp”是int randCardHP = hpValues[x];
- 这可能看起来像
int x = Game.getRandIntBetween(1, hpValues.length) - 1;