如何在while循环条件下操作和随机化变量?

问题描述 投票:1回答:2

我有一个带有条件的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变量进行随机化。

java random while-loop condition
2个回答
0
投票

首先,将您的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)

1
投票

我会用一个数组。像static int[] hpValues = { 100, 80, 90, 70 };之类的东西,然后在x(包括)和0(独家)之间得到一个随机数hpValues.length,你的随机“cardhp”是int randCardHP = hpValues[x]; - 这可能看起来像

int x = Game.getRandIntBetween(1, hpValues.length) - 1;
© www.soinside.com 2019 - 2024. All rights reserved.