Добавление дополнений в игру

226
15 октября 2017, 21:29

Моя программа - это справочное приложение по настольной игре. В ней довольно много параметров (число монстров на карте, отслеживание игровых событий, здоровье игроков и др.), следить за которыми игрокам трудно в течение долгого времени.

Однако возникла следующая проблема - у данной настольной игры есть дополнения, расширяющие список возможных событий. Покажу на конкретном примере (постараюсь не слишком сильно углубляться в детали игры):

Каждый раунд в одной из игровых зон (одной из 12) должны появиться Врата в Иной мир. Если в этой зоне уже есть Врата, происходит событие "Наплыв монстров". Для этих двух событий были сделаны кнопки, при нажатии которых выводятся подсказки (что происходит в этом случае), а приложение будет показывать, что открыто столько-то врат, на карте столько-то монстров (если Врат слишком много, игра проиграна). Игроки могут запечатать врата, положив туда особую метку. В локациях с меткой Врата не появляются.

В дополнении к этой игре появилось событие "Прорыв Врат" - если в локации есть метка, она снимается, и Врата появляются как обычно.

А теперь вопрос: какие есть инструменты в Java, позволяющие выборочно добавлять элементы и механики в игру? Причем не постоянными if-проверками при каждом чихе, а так, чтобы в начале игры пользователь выбирает используемые дополнения (из-за сложности игры обычно используют одно дополнение из возможных) в начале игры, после чего эти элементы (кнопки, прослушиватели событий и т. д.) добавляются в текущую игру.

В качестве графической платформы используется JavaFX, приложение для компьютера.

P.S. Настольная игра называется "Ужас Аркхэма" (вдруг, кто-то знает).

P.P.S. Я новичок в Java, так что многих особенностей языка пока ещё не знаю.

READ ALSO
java, вычисление факториала

java, вычисление факториала

Здравствуйтекак получить полное число, которое выходит за пределы типа long, и соответственно выдает не правильный ответ

391
Выбор перехода между стэйтами по String

Выбор перехода между стэйтами по String

Как реализовать метод select, чтобы отрабатывались переходы selectOne, selectTwo при вызове метода?

250
Что производительнее: HashMap.values() или HashMap.entrySet()?

Что производительнее: HashMap.values() или HashMap.entrySet()?

Каким способом можно пройтись по всем значениям производительнее (ключи не нужны) в HashMap?

230
Поведение ассоциативной карты или TreeMap в Java

Поведение ассоциативной карты или TreeMap в Java

Что будет если в TreeMap запросить значение по несуществующему ключуСработает исключение или вернёт null

219