M.A.X.    Вы вошли как гость
Российский Клуб игроков M.A.X.
 
[Новости]   [Новичку]   [Энциклопедия]   [Документы]   [Файлы]   [Игроки]   [Архивы]   [Архив форума]  
[Новый сайт]   [M.A.X. Gold]   [Партии]  

 
 
 
Архив форума  МаксГолд
[Основной форум] [Голосования] [МаксГолд] [Off-Topic]
 


(Исправлено/Добавлено) Трансфер внутри комплекса  -  Hruks,  18.06.2010  3:40:41

Как-то страно работает трансфер внутри комплекса.
Во первых максимум и минимум трансфера сейчас от минус количества во всём комплексе, до плюс количества во всём комплексе.
Во вторых после трансфера ресурсы распределяются каким-то загадочным образом.

Трансфер из комплекса в самого себя это специальная ситуация и правила немного иные. Нужно специально определять этот режим и обрадатывать по другому.

Нужно:
1. Определение режима: Если из кого или куда являются хранилищами одного и того же комплекса, то входим в этот режим.
2. Максимум трансфера это: Минимальное из - количества ресурса в хранилище из которого идёт трансфер и свободное место в хранилище, куда идёт трансфер, либо место всего комплекса, если куда идёт трансфер не хранилище этого ресурса.
3. Минимум трансфера это максимум из минус количество ресурса в том хранилище из которого идёт трансфер, либо максимум из ресурса во всём комплексе (за вычетом хранилища источника) и свободного места в выбранном хранилище.
4. Трансфер осуществлять так: из источника забирается ресурс, в приёмник помещается.
При этом:
Если источник хранилище, то ресурс забирается именно у него.
Если приёмник хранилище, то ресурс помещается именно в него.
Если источник комплекс, то ресурс забирается из любого хранилища, кроме приёмника.
Если приёмник комплекс, то ресурс помещается в любое хранилище, кроме источника.

Было бы шикарно завести флаг, вроде Охранник у пушек, который бы регулировал подачу ресурса в хранилище.
Пометив таким флагом хранилище мы прекращаем пополнение его ресурсами. Ресурсы будут поступать туда только в случае, если больше пихать некуда, а в нём есть место.
Использовать это можно будет во время трансферов и для исключения пополнения хранилищь, находящихся под огнём (или просто близко от) противника.