Задать вопрос
ArXen42
@ArXen42

Алгоритм распределения «энергии» от «генератора»?

Здравствуйте. Есть, скажем, космический корабль. В нем есть некое оборудование, которое потребляет энергию и генератор, который ее вырабатывает. Оборудование можно менять, распределение энергии тоже нужно регулировать. Думаю, как логично и универсально реализовать это - чтобы всегда соблюдалось условие потребление <= генерация и т.д. Даже не знаю как подступиться, нужна какая-нибудь общая идея.
  • Вопрос задан
  • 694 просмотра
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 3
Stalker_RED
@Stalker_RED
Общая идея: периодически считать общее потребление, и если оно ниже чем генерация... то возможны варианты, смотря насколько реалистично вы хотите всё сделать.

Можно просто отключать некоторое кол-во потребителей
Можно снижать "качество" электроэнергии (напряжение, частота). Некоторые приборы могут работать и на пониженном питании, а другие отключатся.
Ответ написан
Neuroware
@Neuroware
Программист в свободное от работы время
Не понятно в контексте чего задача, вообще проще всего реализовать на клеточных автоматах.
Создается массив из объектов некоторого класса, в котором какие то объекты могут "генерировать" энергию, другие "потреблять", третие "передавать", еще можно четвертые "регулировать подачу". Вся "сложность" будет в только в том, чтобы от "потребителя" найти путь к генераторам и отметиться на них мол "я у тебя откушаю столько то", следующий "потребитель" когда будет искать себе "генератор" будет смотреть есть ли у генератора доступная энергия, если у всех "забито под завязку" потребитель остается без энергии. Это по идее нужно делать каждый раз при изменении объема "генерируемой энергии", если все это сделать как положено с eventами и рефлексией будет очень даже быстрый алгоритм.
Могу даже "каркас" скинуть с готовым клеточным автоматом и отрисовкой.
Ответ написан
Tiendil
@Tiendil
Разработчик ПО.
Поиграйте в FTL, там этот момент раскрыт.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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