В настоящее время я создаю простую консольную игру, в которой игрок может перемещаться между разными комнатами, подбирать и использовать предметы и есть еду. В текущем состоянии игры это все.
Мне нужна помощь:
Создание хорошего класса Event для моей игры. Я бы хотел, чтобы это работало так, чтобы каждый предмет и комната могли быть связаны с событием.
Поскольку я новичок в этом, я был бы признателен за любой материал для чтения, связанный с такого рода процедурами, или предложения относительно того, как лучше всего настроить мой класс(ы), учитывая пункты ниже, или просто как решить такую проблему (т.е. решить, как настроить классы).
Я хочу иметь возможность создавать разные виды событий, например:
Выведите какой-нибудь текст, а затем задайте игроку вопрос. Если игрок дает правильный ответ, сделайте что-нибудь.
Выведите какой-нибудь текст, затем удалите предмет из инвентаря игрока, а затем переместите игрока в другую комнату.
Чего я стараюсь избегать:
Весь смысл игры заключается в том, чтобы практиковать хороший дизайн классов, поэтому такие вещи, как дизайн, ориентированный на ответственность, сплоченность и связь, являются важными аспектами. Поэтому я хочу, чтобы он был максимально простым, многоразовым и независимым.
Необходимость жестко запрограммировать каждое событие, чтобы элемент или комната просто вызывали определенный метод в классе Event.
Что я думаю в данный момент:
Создание нескольких подклассов, чтобы я мог, например, создавать новые события (и связывать их), используя: itemObject.setEvent(new Event(new Question("introText", "outroText", "correctAnswer")));
Пожалуйста, дайте мне знать, если потребуется дополнительная информация! Спасибо!