РПГ. На игроке весит статус сон, танец, отравление и баф у статуса сна приоритет выше чем у танца, но во сне его бьет ядом и работает баф. Какой паттерн для такой системы лучше использовать? Я прочитал про стейт машин и мне кажется он тут совершенно не подходит, поправьте если не так.
П.с. Да это связанно с моими предыдущими вопросами, но у меня цель скорее разобраться, чем реализовать это, ведь костыли никто не отменял :D
Бафы работают одновременно или отменяют друг друга?
Сон отменяет танец, но по окончанию сна танец возвращается, а яд и баф действует всегда
Тогда вам сначала стоит подумать о том, чтобы корректно придумать классы бафов/дебафов
Я не собираюсь делать РПГ:D я хочу найти подходящий паттерн, ведь по моему мнению - это частая задача
Понимаешь, в рпг ты должен реализовать вывод оставшегося времени, или как минимум показать эти эффекты, это уже какой то список - лист например, и что-то, выполняющееся определённый отрезок времени. А внутри уже будут идти проверки на наличие того или иного контрбафа, и действие эффекта
Что насчет chain of responsibility? Сначала проверяем, есть ли одновременно сон и танец, если да, то что-то делаем и помечаем их как обработанные. Затем смотрим есть ли необработанный сон, затем необработанный танец, затем необработанный яд. И так далее
Для Паттерна ситуация слишком частная, сведи ее до более общей
А если у нас появляется полет?
То добавляем ещё один элемент в цепь
Понятное дело, я к тому, что хорошо бы от частных видов бафов перейти к более общим описаниям
Что такое "частные виды" и "общие описания"? В задаче нет в этом необходимости
В текущем виде сильная привязка к конкретным бафам и их свойствам. Хорошо бы иметь абстрактный класс бафа, который бы и использовали
И что общего есть у сна и танца?
Продолжительность, например
Это ты сам выдумал, баффы могут быть вечные. Без внятного описания системы смысла обсуждать это нет
В бафах, отравленная, возможно в полете спящая красавица, а как проснется, то начнет плясать
Вот вам два стула, на одном тз четкое, на другом аналитик абстрактный, на какой сон наложите, на какой отравление поставите? (
Обсуждают сегодня