Заметки про комбинаторы со старого форума
mtgm.ru
У решающего комбинатора есть 3 специальных сигнала.
Each - считает количество сигналов, если галка Input count не стоит или количество предметов в принципе, если она стоит.
Everything
- работает аналогично предыдущему варианту. Разница в том, что если у
нас условие - сигнал больше 10. То в случае everything сначала будут
сложены все сигналы, а потом сумма сравнена с 10. В случаес each -
каждый из сигналов будет сравнен с 10 и на выходе будут только те,
которые подошли по условию.
Anything - берет один сигнал из
нескольиких. Выдает цифру 1, если галка input count не стоит, или
количество предметов в выбранном сигнале - если стоит. Скорей всего
выбирает первый провод из всех подключенных и первый сигнал по списку из
всех сигналов.
Еще хочется отметить что на данный момент
(0.12.1), данные можно получать только с умных сундуков и резервуаров с
жидкостью. А управлять можно только умным манипулятором, маленьким
насосом, насосом который качает воду из озер, ну и лампами.
Еще одна логическая схемка, на этот раз более полезная. На входе есть 4
типа банок, накапливать их в буферных сундуках таким образом, чтобы их
там было равное количество. Причем при исследовании чего-то не
требующего всех 4 типов банок, будут добавляться недостающие.
Левая
часть схемы - вспомогательная, на нее в принципе можно забить. В правой
части на каждом умном манипуляторе стоит условие сравнения тех банок,
которые он носит с предыдущими. То есть верхний манипулятор работает до
тех пор, пока фиолетовых банок меньше чем синих, следующий работает пока
синих меньше чем зеленых, следующий, пока зеленых меньше чем красных и
самый нижний - пока красных меньше чем фиолетовых.
Думаю вот тут видно в принципе какой провод куда идет:
Но
для того чтобы схемка зациклилась, нам нужно сделать чтобы при
одинаковом количестве банок, фиолетовых было немного больше на нижнем
манипуляторе, тогда красные банки снова будут подбираться. Именно для
этого у нас поставлен арифметический комбинатор, который делает
примитивную вещь, увеличивает сигнал от сундука с фиолетовыми банками на
2 единицы.
Именно
на две, потому что если увеличивать на единицу, то схемка будет
работать последовательно, сначала перенесется красная банка, потом
зеленая, потом синяя, потом фиолетовая, потом следующая красная. А если
на две единицы - тогда манипуляторы будут работать парами и скорость
перемещения банок будет полной.
Что любопытно, когда мы
оптимизировали схемку и выкидывали из нее все лишнее, то поняли, что ее
можно было реализовать и без комбинаторов в принципе, просто используя
новое правило сложения сигналов от двух сундуков на одном проводе. Но
да, апдейт 0.12 нужен в любом случае.
Из особенностей работы.
Если из сундука к примеру с зелеными схемами извлечь 100 банок, а из
сундука с синими схемами 50, то сначала будет работать только
манипулятор на зеленые банки, а только после того как недостаток
уравняется, начнут работать оба манипулятора.
Ну и да, из-за
прибавления банок, в буфере фактически на 2 фиолетовые банки меньше чем
всех остальных, поэтому схемка не 100% точная, но для практического
применения этого достаточно, чтобы избежать перерасхода материала на
банки одного типа, при недостатке банок остальных типов.