![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
AlexNomad |
![]()
Сообщение
#1
|
Колонист ![]() Профиль в игре Группа: Колонизаторы Сообщений: 2 Регистрация: 11.04.2012 Пользователь №: 164 ![]() |
Цитата Поручение на автопроизводство - задача оказалась непростой с технической стороны и требует больше времени, чем ожидалось ранее. Срок выкладки этого важного элемента геймплея откладывается на неопределенное время. Итерационно решать эту задачу - перегружать железо Линейным уравнением (типа Симплекс-метода) - тяжело синхронизировать производства по времени. Самый простой вариант делать запрос на производство N шт. ресурса и и делать итерационно. Либо решать проблему с сихронизациями времени в системе линейных уравнений увеличивая число переменных. P.S. Это если нет циклических зависимостей. У вас их вроде не видел. |
![]() ![]() |
Лас Касас |
![]()
Сообщение
#2
|
Колонист ![]() Профиль в игре Группа: Колонизаторы Сообщений: 130 Регистрация: 02.11.2012 Пользователь №: 1,214 ![]() |
Зачем всё так сложно. Задания должны выполнятся только при заходе на сайт, поэтому никаких синхронизаций не нужно. Мы ставим на очередь задание за каждый цикл (партию) производства которого отнимается по 1 поручению. При этом если нужны ресурсы, то они отнимаются сразу. Продукт же мы получаем, только при заходе на сайт. Чтобы не было длинных очередей нужно ограничить число поручений уровнем здания. По-моему реализовать такое достаточно просто и большего игроку и не нужно.
Конкретный пример. У нас лесопилка 3 уровня и на ней работает 11 человек. Как обычно мы отдаём приказ заготовить 11 брёвен. Это ничего нам не стоит. Однако после отдачи приказа у здания вместе с кнопкой "Отменить" появляется дополнительная кнопка "Добавить", после нажатия на которую забирается 1 поручение, а в очередь ставится партия на ещё 11 брёвен. Оно отображается как 2x11, а время выполнения 21:44 (43:27). Первая партия брёвен будет готова через 21:44 минуты, но только при посещении сайта они переместятся на склад. Если я прийду скажем через час, то будут заготовлены уже обе партии и все 22 бревна окажутся на складе. Так как уровень здания 3, то я могу поставить на очередь задание только из 3 партий. Аналогично с производством досок. Только перед тем как ставить на поток задание из 3 партий по 11 досок у меня должно быть 33 бревна на складе, которые будут использованы как сырьё. Само собой, если у меня только 30 брёвен, то я смогу поставить простое задание на 11 досок, задание из 2 партий по 11 досок или задание из 3 партий по 10 досок. Как быть в случае отмены задания? Думаю, сырьё для первой партии должно пропасть, как пропадает сейчас, должны пропасть все поручения, а вот сырьё для второй и последующих партий должно вернуться на склад. Очень полезно будет ставить несколько заданий на ночь или утром перед работой. Как вам такая реализация? |
![]() ![]() |
![]() |
Текстовая версия | Сейчас: 21.08.2025, 23:11 |