假设我正在编写一个小型RPG游戏。我有几个敌人类的实例。它们具有共同的属性(都有名称,生命/力量/敏捷/武器等),但是每个敌人的所有这些值都不相同。我正在寻找启动这些实例的适当方法。
我是编程和Java的新手,所以我正在寻找最佳实践来正确组织项目中的信息。
我的第一个想法是,在创建游戏实例时,实例化Game对象的构造函数中所有必需敌人的出现,并将所有内容放入向量中。类似于Enemy e1 = new Enemy("goblin", 10, 14, 10, a_weapon, ...)
。但是,如果有很多敌人,很多属性并且很难维护,这会变得非常乏味,而且我认为将其放入Game对象的构造函数中并不是很“合乎逻辑”。
我刚刚发现了XML文件,而且看起来很有希望。因此,也许我可以将所有内容放入XML文件中,并在程序中进行解析以提取数据并从中创建所有敌人。看起来像
<Enemies>
<Enemy>
<Name>"Goblin"</Name>
<Strength>20</Strength>
<Agility>20</Agility>
<Life>20</Life>
<Weapon>
<Name>"Sword"</Name>
<Damage>3</Damage>
</Weapon>
<Enemy>
<Enemy>
...
</Enemy>
</Enemies>
我想我可以编写一个函数来解析XML文件,提取数据并自动创建敌人矢量,因此我只需要编辑XML文件来修改值。
但是,在我深入研究此解决方案之前,我想问一下这是否是首选方法,如果不是,那么解决这种情况的最常见方法是什么。