Делаю игру для учебного проекта. На этапе инициализации у меня будет несколько вариантов выбора: первый boolean мод разработчика, вторым будет следовать выбор типа игры из двух enum и дальше третий выбор режим игры из трёх enum. На этапе инициализации игры я заполняю каждое поле, они финальные. Единственная проблема, я не могу понять как мне лучше хранить поведение игры.
Есть идея делать это так:
private final Map<Boolean, Map<GameType, Map<GameMode, ? extends BiFunction<Object[], Object[], Object>>>> behaviour;
Далее создать много наследников от BiFunction и инициализировать их следующим образом:
this.behaviour.put(false, new HashMap<>().put(GameType.RECHERCHE, new HashMap<>().put(GameMode.CHALLENGER, new myBehaviourFunctionOne())));
Правда тут у меня уже что-то не работает, проблема с типами.
и дальше в процессе выбора я бы хотел выдавать эту функцию с помощью геттера.
public <T extends BiFunction<Object[], Object[], Object>> T getBehaviour() {
return behaviour.get(isDevMode).get(gameType).get(gameMode);
}
В общем нужен совет в правильном ли направлении я иду, или есть более простые варианты реализации таких задач?
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
Описание проблемы скорее будет понятнее представленным кодом:
Всем привет! Как можно получить автора какого-либо файла, сохраненного в git репозитории, с помощью Java (использую класс JGit для подключения к git) ? И вообще...
В данный момент изучаю по книгам Ввод-ВыводЗадача такая необходимо получить из потока ввода с клавиатуры 2-а числовых значения, которые при...