Как организовать значения конфигурации в проекте Java
Допустим, я программирую небольшую RPG-игру. У меня есть несколько экземпляров класса Enemy. Они имеют общие свойства (у них всех есть имя, количество жизни / сила / ловкость / оружие и т. Д.), Но все эти значения различны для каждого врага. Я ищу подходящий способ инициировать эти случаи.
Я новичок в программировании и 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, чтобы изменить значения.
Однако, прежде чем я углублюсь в это решение, я хочу спросить, является ли это предпочтительным методом, а если нет, то каким будет наиболее распространенный способ управления такой ситуацией.