Как организовать значения конфигурации в проекте 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, чтобы изменить значения.

Однако, прежде чем я углублюсь в это решение, я хочу спросить, является ли это предпочтительным методом, а если нет, то каким будет наиболее распространенный способ управления такой ситуацией.

0 ответов

Другие вопросы по тегам