我的 friend 做了一个“游戏”,他让你使用一堆 if - else 语句来选择剑和东西。我试图通过制作一个基于文本的游戏来超越他,其中一个随机怪物从 ArrayList 中产生。每个怪物都需要有一个名字和一个生命值。我需要能够选择一个随机的怪物,我想做到这一点,这样我就可以使用以下方式对 ArrayList 进行打乱:
Collections.shuffle(Monster);
我以前制作过一个多维数组,但我不确定如何制作一个每个位置都有两个值的 ArrayList。
到目前为止,这是我的尝试:
List<String> Inventory = new ArrayList<String>();
List<double[]> Monsters = new ArrayList<double[]>(2);
List<String> Monster = new ArrayList<String>();
Monster.add("Goblin");
Monster.add("Josh");
Monster.add("Gremlin");
Monster.add("Unicorn");
Monster.add("Possesed Elf");
Monster.add("Shmorple");
// Can I use Monsters.add(Monster);?
编辑:我完成了游戏,并最终学习了如何使用类来制作对象;谢谢大家提出建议。我从几个回复中学到了很多东西!
最佳答案
如果整数和字符串值是一对一的映射关系,可以使用HashMap的ArrayList。
如果没有,您可以只创建一个具有这 2 个属性的新类,并使用 ArrayList 来保存从该类创建的对象。
public class Monster{
private int health;
private String name;
}
List<Monster> monsterList = new ArrayList<>();
Collections.shuffle(monsterList); //to shuffle it
关于java - 如何创建一个具有两个值的 ArrayList,一个是 String,一个是 int?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46655391/