170 похожих чатов

Я новичок и у меня теоретический вопрос. Для примера возьму

РПГ. На игроке весит статус сон, танец, отравление и баф у статуса сна приоритет выше чем у танца, но во сне его бьет ядом и работает баф. Какой паттерн для такой системы лучше использовать? Я прочитал про стейт машин и мне кажется он тут совершенно не подходит, поправьте если не так.
П.с. Да это связанно с моими предыдущими вопросами, но у меня цель скорее разобраться, чем реализовать это, ведь костыли никто не отменял :D

20 ответов

12 просмотров

Бафы работают одновременно или отменяют друг друга?

(╯ರ ~ ರ)╯︵ ┻━┻- Автор вопроса
Brom Samedi
Бафы работают одновременно или отменяют друг друга...

Сон отменяет танец, но по окончанию сна танец возвращается, а яд и баф действует всегда

(╯ರ ~ ರ)╯︵ ┻━┻
Сон отменяет танец, но по окончанию сна танец возв...

Тогда вам сначала стоит подумать о том, чтобы корректно придумать классы бафов/дебафов

(╯ರ ~ ರ)╯︵ ┻━┻- Автор вопроса

Я не собираюсь делать РПГ:D я хочу найти подходящий паттерн, ведь по моему мнению - это частая задача

(╯ರ ~ ರ)╯︵ ┻━┻
Я не собираюсь делать РПГ:D я хочу найти подходящи...

Понимаешь, в рпг ты должен реализовать вывод оставшегося времени, или как минимум показать эти эффекты, это уже какой то список - лист например, и что-то, выполняющееся определённый отрезок времени. А внутри уже будут идти проверки на наличие того или иного контрбафа, и действие эффекта

(╯ರ ~ ರ)╯︵ ┻━┻
Сон отменяет танец, но по окончанию сна танец возв...

Что насчет chain of responsibility? Сначала проверяем, есть ли одновременно сон и танец, если да, то что-то делаем и помечаем их как обработанные. Затем смотрим есть ли необработанный сон, затем необработанный танец, затем необработанный яд. И так далее

(╯ರ ~ ರ)╯︵ ┻━┻
Я не собираюсь делать РПГ:D я хочу найти подходящи...

Для Паттерна ситуация слишком частная, сведи ее до более общей

Brom Samedi
А если у нас появляется полет?

То добавляем ещё один элемент в цепь

Andrew Shurunov
То добавляем ещё один элемент в цепь

Понятное дело, я к тому, что хорошо бы от частных видов бафов перейти к более общим описаниям

Brom Samedi
Понятное дело, я к тому, что хорошо бы от частных ...

Что такое "частные виды" и "общие описания"? В задаче нет в этом необходимости

Andrew Shurunov
Что такое "частные виды" и "общие описания"? В зад...

В текущем виде сильная привязка к конкретным бафам и их свойствам. Хорошо бы иметь абстрактный класс бафа, который бы и использовали

Andrew Shurunov
И что общего есть у сна и танца?

Продолжительность, например

Brom Samedi
Продолжительность, например

Это ты сам выдумал, баффы могут быть вечные. Без внятного описания системы смысла обсуждать это нет

(╯ರ ~ ರ)╯︵ ┻━┻- Автор вопроса
Brom Samedi
Вечный сон :D

В бафах, отравленная, возможно в полете спящая красавица, а как проснется, то начнет плясать

(╯ರ ~ ರ)╯︵ ┻━┻
В бафах, отравленная, возможно в полете спящая кра...

Вот вам два стула, на одном тз четкое, на другом аналитик абстрактный, на какой сон наложите, на какой отравление поставите? (

Похожие вопросы

Обсуждают сегодня

Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
#include <stdio.h> #include <stdlib.h> #include <time.h> void mass_first_generate(int mass[5][7]) {     for (int N = 0; N < 5; N++) {         for (int A = 0; A < 7; A++) {   ...
Чувак
6
Всем привет! Решаю 99 OCaml Problems и столкнулся со следующей проблемой (прошу палками не забивать, я OCaml практически не трогал до этого момента): open OUnit2 let create_...
К|/|pи/\/\ 6е3yглbIи
2
https://www.linkedin.com/posts/ugama-benedicta-kelechi-codergirl-103041300_mobiledevelopment-fluttertraining-handsonlearning-activity-7263445699227254784-IdHB?utm_source=share...
CoderGirl
16
возможно ли как-то передать в электрон или таури медиа поток с рендера 2д движка? двиг запускается как dll, а дальше надо как-то отправлять рендер кодировать не подходит, зр...
Kyle Nekto
7
Ну вот просто даже давайте вот как. Какой нибудь конкретный кейс, можете в пример привести, где бч работает и приносит прикладную пользу, а не просто что бы было? Не крипту.
Alexander Andreev
22
Помогите пожалуйста. Делаю систему плагинов. Проблема сейчас в такая: плагины загружаются в основном потоке. FLibHandle := SafeLoadLibrary(FFileName) Но нужно еще выполнить фу...
Илья 🤣
10
Точно, оно. У тебя там имена потоков выставляются?
Александр (Rouse_) Багель
9
объясните пожалуйста, почему функция не работает должным образом? вроде должно брать активное окно сравнивать его размер с размером экрана, и если есть совпадение = true прове...
JF
12
лучше скажите, причём тут паскаль?
Alexey Kulakov
36
Карта сайта