【发布时间】:2017-09-18 21:11:06
【问题描述】:
我试图弄清楚如何随机化选择作为方法中参数的对象。所以我在下面创建了两个 Pokemon 类(rattata 和 pidgey)
class WildPokemon {
private static int randomHealth(int min, int max) {
int range = (max - min) + 1;
return (int)(Math.random() * range) + min;
}
private static int randomAttack(int min, int max) {
int range = (max - min) + 1;
return (int)(Math.random() * range) + min;
}
private static int randomSpeed(int min, int max) {
int range = (max - min) + 1;
return (int)(Math.random() * range) + min;
}
static Pokemon rattata = new Pokemon("Rattata",randomHealth(15,20),randomAttack(2,5),randomSpeed(2,6));
static Pokemon pidgey = new Pokemon("Pidgey",randomHealth(10,17),randomAttack(3,4),randomSpeed(3,5));
}
下面我可以在 Pokemon.battle() 方法中调用 rattata 并且它按预期运行。有没有办法可以将我的第二个参数随机化为随机选择的rattata或pidgey?
public class PokemonTester{
public static void main(String[] args){
Pokemon.battle(starter, WildPokemon.rattata);
}
}
【问题讨论】:
-
制作一个你拥有的所有口袋妖怪的数组(或列表),然后将随机位置的口袋妖怪传给战斗。
-
Math.random() > 0.5? rattata : pidgey.
标签: java object parameters