Какова хорошая структура данных Java для хранения элементов ролевых игр?

Я создаю RPG-игру о подземельях на Java и застрял на создании структуры данных.

У меня есть много вещей, которые я могу скопировать, чтобы заполнить подземелье. Например, есть вещь-хлеб, вещь-меч, вещь-кольчуга, штука-монстр и т. д. Я хочу хранить их в центральной библиотеке, а затем иметь возможность извлекать объект, используя определенные запросы. Я хочу сохранить их, используя следующие поля:

int minLevel
int maxLevel
double probability
int[] types

Таким образом, у ржавого меча будет minLevel1, maxLevel3, вероятностьредкость (3%) и [тип.МЕЧ,тип.ОРУЖИЕ,тип.ПУНКТ,ТИП.ОБОРУДОВАНИЕ]. У лучшего меча будет minLevel2, maxLevel10, редкость (1%).

Затем я хочу получить случайный type.SWORDиз библиотеки и сказать, что я на уровне 3.Я должен получать ржавый меч чаще, чем лучший меч, исходя из их вероятностей. Если бы я получил type.SWORDиз библиотеки, запрашивающей уровень 10, я бы получил только лучший меч.

Надеюсь, это имеет смысл.

РЕДАКТИРОВАТЬ На этапе инициализации будут созданы все основные объекты. Такие вещи, как доступное оружие, доспехи, еда, зелья, жезлы, все основные возможные вещи, которые имеют уникальную графическую плитку в игре. Затем, когда я хочу разместить объект где-то, я просто делаю копию одной из доступных Вещей, немного настраиваю ее характеристики и помещаю ее в мир. Все фактические предметы являются подклассами корневого класса Вещи, такими как класс Существо, Предмет, Снаряжение (расширяет Предмет), Оружие (расширяет Снаряжение), Доспехи (расширяет Снаряжение), Еда (расширяет Предмет) и т. д. Но я хочу пометить они разные в базе данных библиотеки, я хочу использовать дополнительные теги, такие как type.RARE, type.ARTIFACT, type.CURSED, поэтому мне нужны дополнительные теги помимо класса.

Игра использует LIBGDX, чтобы быть доступной на Android и в виде апплета. Я использую бесплатный набор Rltile, в котором тысячи хороших плиток. Я буду использовать Pubnub или Google App Engine для поддержки многопользовательской игры.

8
задан Brian Tompsett - 汤莱恩 8 November 2015 в 17:22
поделиться