Делаю небольшую игру (мой первый проект) - нечто вроде пошагового рогалика.
Реализовал генерацию поля боя, расстановку на нём монстров, генерацию поверапов и предметов (предмет из себя представляет заклинание, которое можно кастовать затрачивая ману).
Столкнулся с проблемой добавления заклинаний в уже существующий код - они все разные и эффект должен включаться в разных частях кода на разных уровнях абстракций. К примеру, заклинание которое позволяет атаковать первым - его эффект вступает при сравнении инициатив в функции просчёта боя. Заклинание, которое добавляет в % бонус к урону, должно это делать внутри функции пересчёта характеристик игрока, потому что бонус должен складываться с другими до округления, Fireball должен вообще отменять бой...
Проштудировал
книгу по шаблонам проектирования. Очень многое узнал, очень всё круто - но как применить любой из описанных шаблонов к моей ситуации, не знаю.