Guide to Integrated Circuits: различия между версиями

Материал из Chaotic Onyx
Перейти к навигацииПерейти к поиску
(→‎Основы, часть I, аппаратура, пространство и сложность.: Исправил помарку, кучу. Помарок. **особенно много помарок**, **орфография**, **грамматика**. **надеюсь на снятие кляпа**. 🐸🥂😎)
Метки: правка с мобильного устройства правка из мобильной версии
 
(не показано 95 промежуточных версий 14 участников)
Строка 1: Строка 1:
{{TG}}
+
{{Заготовка}}
= Основы [[Файл:Intergrated_printer.png]] =
 
[[Файл:IPrinter_gui.jpg|frame| Интерфейс принтера для печатных плат. Сверху - количество материала и информация об апгрейдах, в середине - категории.]]
 
И так, для того чтобы начать создавать какие-либо кремниевые изделия и заставить их делать за вас всю работу, рекомендуется напечатать либо взять в [[Guide to Research and Development|отделе исследований]] такую вещь как '''Integrated Circuits Printer''' [[Файл:Intergrated_printer.png]], а так-же опционально:
 
*[[Файл:Upgrade_disc.png]] (''Advanced Designs upgrade disc'') - Диск на продвинутые электросхемы. (Временно не требуется)
 
*[[Файл:Circuitclone_disc.png]] (''Circuit Cloner upgrade disc'') - Диск на возможность печати готового устройства из кода.
 
Вставляете их в принтер, и вам открываются новые возможности. Ах да, и не забудьте заправить принтер [[Файл:metal.png]].
 
== Необходимые инструменты ==
 
Для нормальной работы любому человеку необходимы инструменты. Они размещены во вкладке ''Tools'':
 
* '''Прокладчик проводов''' (''Circuit Wirer'') [[Файл:Tool_wirer.png]] - самый главный инструмент, служит для соединения / разьединения разьемов на печатных платах. Кликни по нему, чтобы изменить режим работы.
 
* '''Устройство для отладки''' (''Circuit Debugger'') [[Файл:Tools_debugger.png]] - служит для выставления постоянного значения в переменной. Кликни по нему, чтобы выбрать тип переменной. Может так-же подавать импульсы на <PULSE IN>
 
* '''Анализатор''' (''Circuit Analyzer'') [[Файл:Tools_codeanalyzer.png ‎]] - сканирует ваше готовое творение и генерирует код, который можно сохранить себе на память и использовать в следующих раундах.
 
  
== Корпуса [[Файл:Int_frame.png]] ==
+
{{Ingame}}
Вот уже весь отсек забит платами, инструментами и прочим говном. Куда же это все ставить? Для этих целей и придумали различные корпуса. Только не забудь засунуть туда батарейку.
 
=== Виды корпусов ===
 
{| class="wikitable" style="text-align:center; background:#FFFFE0;" width="100%"
 
! style="background:#CCCCCC;" colspan="2" | Корпус
 
! style="background:#CCCCCC;" | Описание
 
! style="background:#CCCCCC;" | Стоимость
 
! style="background:#CCCCCC;" | Внутреннее пространство
 
! style="background:#CCCCCC;" | Сложность
 
|-
 
|[[Файл:Small_electronic_shell.png]][[Файл:Small_electronic_shell_b.png]][[Файл:Small_electronic_shell_c.png]][[Файл:Small_electronic_shell_d.png]]||Electronic Assembly
 
|Самый маленький корпус из всех.||5000 cm
 
|25 ед.||75 ед.
 
|-
 
|[[Файл:Medium_electronic_shell.png]][[Файл:Medium_electronic_shell_b.png]][[Файл:Medium_electronic_shell_c.png]][[Файл:Medium_electronic_shell_d.png]]||Electronic Mechanism
 
|Средний корпус.||10000 cm
 
|50 ед.||150 ед.
 
|-
 
|[[Файл:Large_electronic_shell.png]][[Файл:Large_electronic_shell_b.png]][[Файл:Large_electronic_shell_c.png]][[Файл:Large_electronic_shell_d.png]]||Electronic Machine
 
|Большой корпус.||20000 cm
 
|100 ед.||300 ед.
 
|-
 
|[[Файл:Drone_electronic_shell.png]][[Файл:Drone_electronic_shell_b.png]]||Electronic Drone
 
|Корпус, который может передвигаться.||15000 cm
 
|75 ед.||225 ед.
 
|-
 
|}
 
  
== Сборка и настройка [[Файл:Disassembled_assembly.png]] ==
+
= Интегральные платы[[Файл:Intergrated_printer.png]] =  
Для того, чтобы вставлять платы в корпус, сначала его нужно открыть отверткой [[Файл:Screwdriver_tool.png]]
 
  
В меню корпуса вы увидите список действий с платой: Name | [Rename] | [Scan with Debugger] | [Remove] | [Move to bottom], что соответственно означает - Имя | Переименовать | Просканировать отладчиком | Вытащить | Переместить вниз
+
<b>Дисклеймер:</b> Интегральные схемы довольно сложны для восприятия “не-инженерного” ума. А для максимальной эффективности требуется несколько часов для поиска и прогона оптимального количества функций (компонентов) и их связей, в данном руководстве мы постараемся затронуть легкий к восприятию для всех людей способ организации производства интегральных схем.
  
При настройке необходимо помнить, что:
+
Теперь отдел Исследования и Разработок может порадовать Вас системой автоматического сканирования органических форм жизни на наличие ранений, датчиками здоровья, которые могут передавать видео в режиме онлайн, автоматическими турелями, системами автоматизированного уничтожения или просто… Шприц? Действительно, Вы хотите запихнуть ШПРИЦ в проспекты нового отдела? Совсем поехавшие идиоты?! Ты уволен! Это не Вам, [ВСТАВЬТЕ НАЗВАНИЕ ВАШЕЙ ДОЛЖНОСТИ]. Да, ты, бери вещи и на выход. Впрочем, можно сделать все, что придет вам в голову при помощи новой СИСТЕМЫ ИНТЕГРАЛЬНЫХ СХЕМ™. Несмотря на то, что с первого взгляда они могут показаться трудными к использованию предметами, на самом деле все довольно просто, вдобавок наши инженеры всегда продолжают улучшать интерфейсы для облегчения работы с интегральными схемами, что не скажешь на другие филиалы, которые… Впрочем не важно. Что-ж… Начнем!
  
*'''Активатор''' с пометкой '''<PULSE OUT>''' создает импульс при успешном выполнении операции.
+
Дисклеймер: предыдущие утверждение о том, что разработку таких схем очень простая - наглая ложь. Конечно, для “простых” схем это легко, но когда Вы начнете создавать более продвинутые схемы Вам понадобиться немного школьной математики, возможно даже высшей (вузовской) математики, и, конечно же, знание возможностей из смежных отраслей станции (химия, ксенобиология, даже знания из отдела СБ). Впрочем, даже на взгляд опытного “интегральщика” простые схемы могут очень сильно удивить незнакомого со спецификой интегральных схем человека. Будьте готовы к непредвиденным последствиям.
  
*'''Активатор''' с пометкой '''<PULSE IN>''' служит для активации интегральной схемы (Например, в сумматоре при импульсе на вход ''compute'' происходит суммирование входов).
 
  
* Так-же на саму пометку '''<PULSE IN>''' можно создать импульс с помощью [[Файл:Tools_debugger.png]] или [[Файл:multitool.png]]
+
== Инструменты ==
 +
'''Integrated Circuit Printer''' - Ваше все, тут создаются основы для Ваших схем, получаются компоненты, создаются инструменты для сопряжения компонентов.
  
=== Переменные ===
+
'''Circuit Wirer''' - используется для создания связей между компонентами в интегральной схеме (печатается в Integrated Circuit Printer).
  
*Используя '''Отладчик'''[[Файл:Tools_debugger.png]] можно задавать переменным постоянные значения. Кликни по нему, чтобы выбрать тип переменной.
+
'''Circuit Debugger''' - позволяет выставлять значения в переменные, активировать пины уровня сигнала (печатается в Integrated Circuit Printer).
  
*Переменные с типом '''<NUM>''' могут содержать только '''числовое значение'''.
+
'''Батарея''' - используется для питание интегральной схемы. Без питания - нет работы интегральной схемы.
  
*Переменные с типом '''<INDEX>''' могут содержать только '''положительные целые числа'''
+
<b>Опционально:</b>
  
*Переменные с типом '''<COLOR>''' могут содержать только '''закодированый шестнадцатеричный цвет''' (прим. '''#A9A9A9''' - серый).
+
'''Circuit Analyzer''' - позволяет скопировать код интегральной схемы для последующего использования в других схем. '''РУССКИЙ ТЕКСТ НЕ ПЕРЕНОСИТСЯ'''
  
*Переменные с типом '''<REF>''' могут содержать только '''имя обьекта''' (прим. Bol Onovich).
+
'''Circuit Detailer''' - инструмент покраски схемы в выбранной цвет, говорят, что такая интегралка на 20 процентов лучше работает, но это слухи.
  
*Переменные с типом '''<TEXT>''' могут содержать только '''текстовую строку'''.
+
'''Отвертка''' - используется для того, чтобы закрыть внутренности интегральной схемы от глаз пользователя этой схемы.
  
*Переменные с типом '''<BOOL>''' могут содержать значения '''true''' или '''false'''. Их так-же можно задать числовым значением.
+
Включенный '''сварочный аппарат''' - при использования на закрытой схеме может заваривает крышку и не позволяет открывать ее отверткой, также при повреждения интегралки ее можно починить этим инструментом.
  
*Переменные с типом '''<ANY>''' могут содержать '''любые значения'''.
+
'''Разводной Ключ (wrench)''' - используется для закрепление интегралки на пол.
  
= Интегральные схемы [[Файл:Icircuit_memory16.png]] =
+
Руководство рассчитано на то, что у Вас есть хотя бы обязательные инструменты.
Собственно то, из чего ты и будешь собирать свою армию дронов-убийц. Количество схем настолько огромно, что из них можно даже собрать свой процессор! Подразделяются на категории, о которых ниже.
 
  
== Power / Passive ==
+
== Основы, часть I, аппаратура, пространство и сложность. ==
{| class="wikitable" style="text-align:center; background:#FFFFE0;" width="100%"
+
Интегральная схема - дом компонентов. Без интегральной схемы - нет машины. Также интегральной схеме необходим источник питания - батарейка, для питания компонентов. Отдел РнД имеет доступ к протолату и зарядникам, поэтому проблем с питанием нет. Если Вы работаете в отделе, где не можете изготовить батареи, то попытайтесь поискать их на объекте или попросить у ученых. Также существует еще две важные переменные:
! style="background:#CCCCCC;" colspan="2" | Интегральная схема
 
! style="background:#CCCCCC;" | Описание
 
! style="background:#CCCCCC;" | Стоимость изготовления
 
! style="background:#CCCCCC;" | Сложность
 
! style="background:#CCCCCC;" | Активатор
 
! style="background:#CCCCCC;" | Входы
 
! style="background:#CCCCCC;" | Выходы
 
|-
 
|[[File:Icircuit_solarcell.png]]||Tiny Photovoltatic Cell
 
|Микрофотоэлемент. Служит для генерации 1W энергии в секунду при наличии освещения.||200 cm
 
|1 ед.|| ---
 
| --- || ---
 
|-
 
|[[File:Icircuit_led.png]]||Starter
 
|Стартер. При включении или восстановлении питания устройства посылает электрический импульс.||200 cm
 
|1 ед.||pulse out <PULSE OUT>
 
| --- || ---
 
|-
 
|[[File:Icircuit_teslalarge.png]]||Large Tesla Power Relay
 
|Большой тесла-передатчик. Берет энергию 2kW из самого ближайшего APC для беспроводной зарядки устройства.||800 cm
 
|15 ед.|| ---
 
| --- || ---
 
|-
 
|[[File:Icircuit_teslalarge.png]]||Tesla Power Relay
 
|Тесла-передатчик. Берет энергию 50W из самого ближайшего APC для беспроводной зарядки устройства.||400 cm
 
|7 ед.|| ---
 
| --- || ---
 
|-
 
|[[File:Icircuit_fuelcell.png]]||Fuel Cell
 
|Топливная ячейка. Может вырабатывать энергию из плазмы, углерода, сварочного топлива, этанола и даже крови.|| 200 cm
 
|4 ед.|| ---
 
| --- ||<NUM> volume used
 
----
 
<REF> self reference
 
|-
 
|}
 
  
== Arithmetic ==
+
'''Space''' - пространство максимальное занимаемое компонентами в схеме, Вы не можете вставить больше компонентов по пространству (в сумме), чем указанное в данной переменной
{| class="wikitable" style="text-align:center; background:#FFFFE0;" width="100%"
 
! style="background:#CCCCCC;" colspan="2" | Интегральная схема
 
! style="background:#CCCCCC;" | Описание
 
! style="background:#CCCCCC;" | Стоимость изготовления
 
! style="background:#CCCCCC;" | Сложность
 
! style="background:#CCCCCC;" | Активатор
 
! style="background:#CCCCCC;" | Входы
 
! style="background:#CCCCCC;" | Выходы
 
|-
 
|[[File:Icircuit_sum.png]]||Addition Circuit
 
|Сумматор. Складывает числа.||200 cm
 
|1 ед.||compute <PULSE IN>
 
----
 
on computed <PULSE OUT>
 
| <NUM> A-H || <NUM> result
 
|-
 
|[[File:Icircuit_sub.png]]||Subtraction Circuit
 
|Вычитатель. Находит разность между числами.||200 cm
 
|1 ед.||compute <PULSE IN>
 
----
 
on computed <PULSE OUT>
 
| <NUM> A-H || <NUM> result
 
|-
 
|[[File:Icircuit_multiply.png]]||Multiplication Circuit
 
|Умножитель. Находит произведение чисел.||200 cm
 
|1 ед.||compute <PULSE IN>
 
----
 
on computed <PULSE OUT>
 
| <NUM> A-H || <NUM> result
 
|-
 
|[[File:Icircuit_divider.png]]||Division Circuit
 
|Делитель. Находит частное чисел.||200 cm
 
|1 ед.||compute <PULSE IN>
 
----
 
on computed <PULSE OUT>
 
| <NUM> A-H || <NUM> result
 
|-
 
|[[File:Icircuit_exp.png]]||Exponent Circuit
 
|Возведение степени. Возводит A в степень B.||200 cm
 
|1 ед.||compute <PULSE IN>
 
----
 
on computed <PULSE OUT>
 
|<NUM> A
 
----
 
<NUM> B
 
|| <NUM> result
 
|-
 
|[[File:Icircuit_sign.png]]||Sign Circuit
 
|Сигнальная цепь. Выводит на выход число 1, -1 или 0 в соответствии с положительным, отрицательным, или нулевым входом.||200 cm.
 
|1 ед.||compute <PULSE IN>
 
----
 
on computed <PULSE OUT>
 
| <NUM> A || <NUM> result
 
|-
 
|[[File:Icircuit_round.png]]||Round Circuit
 
|Округлитель. Округляет A до ближайшего множества B от A. Если вход B пустой, то A округляется вниз.||200 cm
 
|1 ед.||compute <PULSE IN>
 
----
 
on computed <PULSE OUT>
 
|<NUM> A
 
----
 
<NUM> B
 
|| <NUM> result
 
|-
 
|[[File:Icircuit_abs.png]]||Absolute Circuit
 
|Модуль. Вычисляет модуль числового значения. Полезно при вычислении дистанции до обьекта.||200 cm
 
|1 ед.||compute <PULSE IN>
 
----
 
on computed <PULSE OUT>
 
| <NUM> A || <NUM> result
 
|-
 
|[[File:Icircuit_avg.png]]||Average Circuit
 
|Среднее значение. Вычисляет среднее числовое значение.||200 cm
 
|1 ед.||compute <PULSE IN>
 
----
 
on computed <PULSE OUT>
 
| <NUM> A-H || <NUM> result
 
|-
 
|[[File:Pi.png]]||'''π''' constant Circuit
 
|Выводит на выход число '''π''' (3.14159) ||200 cm
 
|1 ед.||compute <PULSE IN>
 
----
 
on computed <PULSE OUT>
 
| --- || <NUM> result
 
|-
 
|[[File:Icircuit_random.png]]||Random number generator Circuit
 
|Генератор случайных чисел. Выдает на выход случайное число, заданное в пределах от L до H.||200 cm
 
|1 ед.||compute <PULSE IN>
 
----
 
on computed <PULSE OUT>
 
|<NUM> L
 
----
 
<NUM> H
 
|| <NUM> result
 
|-
 
|[[File:Icircuit_sqrt.png]]||Square root Circuit
 
|Квадратный корень. Вычисляет квадратный корень числа.||200 cm
 
|1 ед.||compute <PULSE IN>
 
----
 
on computed <PULSE OUT>
 
| <NUM> A || <NUM> result
 
|-
 
|[[File:Icircuit_modulo.png]]||Modulo Circuit
 
|Остаток от деления. Находит остаток от деления A на B ||200 cm
 
|1 ед.||compute <PULSE IN>
 
----
 
on computed <PULSE OUT>
 
|<NUM> A
 
----
 
<NUM> B
 
|| <NUM> result
 
|-
 
  
|}
+
'''Complexity''' - максимальная “сложность” схемы, Вы не можете вставить больше компонентов по сложности (в сумме), чем указанное в данной переменной.
  
== Converter ==
+
Почти каждый компонент вставляемый в интегральную схему имеет 1 “пространство”, также у компонента есть “сложность”, которая зависит от того, сколько функций выполняет данный компонен. Например: кнопка выполняет одно действие - замкнуть цепь активации при нажатии, и поэтому она имеет 1 “сложность”, но интегрированный гипо-инжектор имеет функции инжектирования, высасывания реагентов в что-то и перемещение реагентов внутри схемы - 20 “сложности”.
{| class="wikitable" style="text-align:center; background:#FFFFE0;" width="100%"
 
! style="background:#CCCCCC;" colspan="2" | Интегральная схема
 
! style="background:#CCCCCC;" | Описание
 
! style="background:#CCCCCC;" | Стоимость изготовления
 
! style="background:#CCCCCC;" | Сложность
 
! style="background:#CCCCCC;" | Активатор
 
! style="background:#CCCCCC;" | Входы
 
! style="background:#CCCCCC;" | Выходы
 
|-
 
|[[File:Icircuit_num-string.png]]||Number to String Circuit
 
|Преобразователь. Преобразовывает число в текстовую строку.||200 cm
 
|2 ед.||convert <PULSE IN>
 
----
 
on convert <PULSE OUT>
 
| <NUM> input || <TEXT> output
 
|-
 
|[[File:Icircuit_string-num.png]]||String to Number Circuit
 
|Обратный преобразователь. Преобразовывает текстовую строку в число. ||200 cm
 
|2 ед.||convert <PULSE IN>
 
----
 
on convert <PULSE OUT>
 
| <TEXT> input || <NUM> output
 
|-
 
|[[File:Icircuit_ref-string.png]]||Reference to String Circuit
 
|Преобразователь. Преобразует имя обьекта в текстовую строку.||200 cm
 
|2 ед.||convert <PULSE IN>
 
----
 
on convert <PULSE OUT>
 
| <REF> input || <TEXT> output
 
|-
 
|[[File:Icircuit_ref-string.png]]||Reference Encoder circuit
 
|Преобразователь. Преобразует имя обьекта в текст, читаемый платой EPV2.||200 cm
 
|2 ед.||convert <PULSE IN>
 
----
 
on convert <PULSE OUT>
 
| <REF> input || <TEXT> output
 
|-
 
|[[File:Icircuit_ref-string.png]]||Reference Decoder Circuit
 
|Обратный преобразователь. Преобразовывает закодированное имя из текстовой строки в имя обьекта.||200 cm
 
|2 ед.||convert <PULSE IN>
 
----
 
on convert <PULSE OUT>
 
| <TEXT> input || <REF> output
 
|-
 
|[[File:Icircuit_lowercase.png]]||Lowercase String converter Circuit
 
|преобразователь. преобразует текстовую строку в нижний регистр.||200 cm
 
|2 ед.||convert <PULSE IN>
 
----
 
on convert <PULSE OUT>
 
| <TEXT> input || <TEXT> output
 
|-
 
|[[File:Icircuit_uppercase.png]]||Uppercase String converter Circuit
 
|ПРЕОБРАЗОВАТЕЛЬ. ПРЕОБРАЗУЕТ ТЕКСТОВУЮ СТРОКУ В ВЕРХНИЙ РЕГИСТР.||200 cm
 
|2 ед.||convert <PULSE IN>
 
----
 
on convert <PULSE OUT>
 
| <TEXT> input || <TEXT> output
 
|-
 
|[[File:Icircuit_template.png]]||Concatenator Circuit
 
|Обьединитель. Обьединяет множество текстовых строк в одну.||200 cm
 
|4 ед.||concatenate <PULSE IN>
 
----
 
on concatenated <PULSE OUT>
 
| <TEXT> A-H || <TEXT> result
 
|-
 
|[[File:Icircuit_template.png]]||Separator Circuit
 
|Разделитель. Разделяет текстовую строку в точке, заданной числовым значением. (прим. Строка: clown, Числовое значение: 3. Результат: clo wn)||200 cm
 
|4 ед.||separate <PULSE IN>
 
----
 
on separated <PULSE OUT>
 
| <TEXT> string to split
 
----
 
<NUM> index
 
|| <TEXT> before split
 
----
 
<TEXT> after split
 
|-
 
|[[File:Icircuit_template.png]]||Find Text Circuit
 
|Поиск. Ищет нужную строку в заданной. При нахождении выводит на выход числовое значение - позицию. Нечувствителен к регистру.||200 cm
 
|4 ед.||search <PULSE IN>
 
----
 
after search <PULSE OUT>
 
| <TEXT> string
 
----
 
<TEXT> sample
 
|| <NUM> position
 
|-
 
|[[File:Icircuit_template.png]]||String Exploder Circuit
 
|Разделитель. Разделяет текстовую строку на отдельные слова, помещая их в список.||200 cm
 
|4 ед.||separate <PULSE IN>
 
----
 
on separated <PULSE OUT>
 
| <TEXT> string to split
 
----
 
<TEXT> delimiter
 
|| <LIST> list
 
|-
 
|[[File:Icircuit_template.png]]||Radians to Degrees converter Circuit
 
|Преобразователь. Преобразовывает радианы в градусы.||200 cm
 
|2 ед.||convert <PULSE IN>
 
----
 
on convert <PULSE OUT>
 
| <NUM> radian || <NUM> degrees
 
|-
 
|[[File:Icircuit_template.png]]||Degrees to Radians converter Circuit
 
|Обратный преобразователь. Преобразовывает градусы в радианы.||200 cm
 
|2 ед.||convert <PULSE IN>
 
----
 
on convert <PULSE OUT>
 
| <NUM> degrees|| <NUM> radians
 
|-
 
|[[File:Icircuit_template.png]]||Abs to Rel coordinate converter Circuit
 
|Преобразователь. Преобразовывает абсолютные (мировые) координаты в относительные (локальные).||200 cm
 
|4 ед.||compute rel coordinates <PULSE IN>
 
----
 
on convert <PULSE OUT>
 
|<NUM> X1
 
----
 
<NUM> Y1
 
----
 
<NUM> X2
 
----
 
<NUM> Y2
 
|| <NUM> X
 
----
 
<NUM> Y
 
|-
 
|[[File:Icircuit_hsv-hex.png]]||HSV to HEX converter circuit
 
|Преобразователь. Преобразовывает оттенок, насыщеность и яркость в шестнадцатеричный RGB цвет.||200 cm
 
|2 ед.||convert <PULSE IN>
 
----
 
on convert <PULSE OUT>
 
| <NUM> hue
 
----
 
<NUM> saturation
 
----
 
<NUM> value
 
|| <COLOR> hexadecimal RGB
 
|-
 
|[[File:Icircuit_rgb-hex.png]]||RGB to HEX converter circuit
 
|Преобразователь. Преобразовывает красный, зеленый, синий цвета в шестнадцатеричный RGB цвет.||200 cm
 
|2 ед.||convert <PULSE IN>
 
----
 
on convert <PULSE OUT>
 
| <NUM> red
 
----
 
<NUM> green
 
----
 
<NUM> blue
 
|| <COLOR> hexadecimal RGB
 
|-
 
|}
 
  
== Data Transfer ==
+
Основная задача схемодела заключается в наборе “фич” схемы за наименьшее количество “сложности” и “пространства”. Количества “пространства” и “сложности” зависит от типа корпуса интегральных схем:
{| class="wikitable" style="text-align:center; background:#FFFFE0;" width="100%"
 
! style="background:#CCCCCC;" colspan="2" | Интегральная схема
 
! style="background:#CCCCCC;" | Описание
 
! style="background:#CCCCCC;" | Стоимость изготовления
 
! style="background:#CCCCCC;" | Сложность
 
! style="background:#CCCCCC;" | Активатор
 
! style="background:#CCCCCC;" | Входы
 
! style="background:#CCCCCC;" | Выходы
 
|-
 
|[[File:Icircuit_2multi.png]]||Two Multiplexer
 
|Двоичная шина обьединения. Выбирает вход, определяющийся числом, и выводит его на выход.||200 cm
 
|2 ед.||select <PULSE IN>
 
----
 
on select <PULSE OUT>
 
| <NUM> input selection
 
----
 
<ANY> input 1-2
 
|| <ANY> output
 
|-
 
|[[File:Icircuit_4mux.png]]||Four Multiplexer
 
|Четвертичная шина обьединения. Выбирает вход, определяющийся числом, и выводит его на выход.||200 cm
 
|4 ед.||select <PULSE IN>
 
----
 
on select <PULSE OUT>
 
| <NUM> input selection
 
----
 
<ANY> input 1-4
 
|| <ANY> output
 
|-
 
|[[File:Icircuit_8mux.png]]||Eight Multiplexer
 
|Восьмеричная шина обьединения. Выбирает вход, определяющийся числом, и выводит его на выход.||400 cm
 
|8 ед.||select <PULSE IN>
 
----
 
on select <PULSE OUT>
 
| <NUM> input selection
 
----
 
<ANY> input 1-8
 
|| <ANY> output
 
|-
 
|[[File:Icircuit_16mux.png]]||Sixteen Multiplexer
 
|Шестнадцатеричная шина обьединения. Выбирает вход, определяющийся числом, и выводит его на выход.||400 cm
 
|16 ед.||select <PULSE IN>
 
----
 
on select <PULSE OUT>
 
| <NUM> input selection
 
----
 
<ANY> input 1-16
 
|| <ANY> output
 
|-
 
|[[File:Icircuit_2demux.png]]||Two Demultiplexer
 
|Двоичная шина вывода. Выбирает выход, определяющийся числом, и выводит данные со входа на этот выход.|| 200 cm
 
|2 ед.||select <PULSE IN>
 
----
 
on select <PULSE OUT>
 
| <NUM> output selection
 
----
 
<ANY> input
 
|| <ANY> output 1-2
 
|-
 
|[[File:Icircuit_4demux.png]]||Four Demultiplexer
 
|Четвертичная шина вывода. Выбирает выход, определяющийся числом, и выводит данные со входа на этот выход.|| 200 cm
 
|4 ед.||select <PULSE IN>
 
----
 
on select <PULSE OUT>
 
| <NUM> output selection
 
----
 
<ANY> input
 
|| <ANY> output 1-4
 
|-
 
|[[File:Icircuit_8demux.png]]||Eight Demultiplexer
 
|Восьмеричная шина вывода. Выбирает выход, определяющийся числом, и выводит данные со входа на этот выход.|| 400 cm
 
|8 ед.||select <PULSE IN>
 
----
 
on select <PULSE OUT>
 
| <NUM> output selection
 
----
 
<ANY> input
 
|| <ANY> output 1-8
 
|-
 
|[[File:Icircuit_16demux.png]]||Sixteen Demultiplexer
 
|Шестнадцатеричная шина вывода. Выбирает выход, определяющийся числом, и выводит данные со входа на этот выход.|| 400 cm
 
|16 ед.||select <PULSE IN>
 
----
 
on select <PULSE OUT>
 
| <NUM> output selection
 
----
 
<ANY> input
 
|| <ANY> output 1-16
 
|-
 
|[[File:Icircuit_2demux.png]]||Two pulse Demultiplexer
 
|Двоичная импульсная шина вывода. Выбирает выход, определяющийся числом, и выводит импульс на этот выход.|| 200 cm
 
|2 ед.||select <PULSE IN>
 
----
 
output 1-2 <PULSE OUT>
 
| <NUM> output selection || ---
 
|-
 
|[[File:Icircuit_4demux.png]]||Four pulse Demultiplexer
 
|Четвертичная импульсная шина вывода. Выбирает выход, определяющийся числом, и выводит импульс на этот выход.|| 200 cm
 
|4 ед.||select <PULSE IN>
 
----
 
output 1-4 <PULSE OUT>
 
| <NUM> output selection || ---
 
|-
 
|[[File:Icircuit_8demux.png]]||Eight pulse Demultiplexer
 
|Восьмеричная импульсная шина вывода. Выбирает выход, определяющийся числом, и выводит импульс на этот выход.|| 400 cm
 
|8 ед.||select <PULSE IN>
 
----
 
output 1-8 <PULSE OUT>
 
| <NUM> output selection || ---
 
|-
 
|[[File:Icircuit_16demux.png]]||Sixteen pulse Demultiplexer
 
|Шестнадцатеричная импульсная шина вывода. Выбирает выход, определяющийся числом, и выводит импульс на этот выход.|| 400 cm
 
|16 ед.||select <PULSE IN>
 
----
 
output 1-16 <PULSE OUT>
 
| <NUM> output selection || ---
 
|-
 
  
|}
+
* '''Сборки''' имеют малый размер, позволяют носить себя в кармане, имеют 25 пространства и 75 сложности
 +
* '''Устройства''' имеют очень маленький размер, имеют 25 / 2 пространства и 75 / 2 сложности.
 +
* '''Механизмы''' имеют средний размер, имеют 50 пространства и 150 сложности
 +
* '''Машины''' имеют большой размер, имеют 100 пространства и 300 сложности.
 +
* '''Дроны''' имеют большой размер, имеют 75 пространства и 225 сложности, единственные корпуса, которые могут перемещаться независимо от оператора.
 +
* '''Настенные устройства''' в зависимости от названия имеют разный размер и сложность, можно ставить на стены.
  
== Input ==
+
Простые по сложности схемы (фонарик, переводчик) стоит вставлять в корпуса типа '''сборки'''.
{| class="wikitable" style="text-align:center; background:#FFFFE0;" width="100%"
 
! style="background:#CCCCCC;" colspan="2" | Интегральная схема
 
! style="background:#CCCCCC;" | Описание
 
! style="background:#CCCCCC;" | Стоимость изготовления
 
! style="background:#CCCCCC;" | Сложность
 
! style="background:#CCCCCC;" | Активатор
 
! style="background:#CCCCCC;" | Входы
 
! style="background:#CCCCCC;" | Выходы
 
|-
 
|[[File:Icircuit_button.png]]||Button
 
|Обычная кнопка, при нажатии которой выдается сигнал.||200 cm
 
|1 ед.|| on pressed <PULSE IN>
 
| --- || ---
 
|-
 
|[[File:Icircuit_togglebutton.png]]||Toggle Button
 
|Кнопка - переключатель. При нажатии включается, при еще одном - выключается.||200 cm
 
|1 ед.|| on toggle <PULSE IN>
 
| --- || <BOOL> on
 
|-
 
|[[File:Icircuit_numpad.png]]||Number Pad
 
|Числовая клавиатура. С помощью нее можно вводить любые числа.||200 cm
 
|2 ед.|| on entered <PULSE IN>
 
| --- || <NUM> number entered
 
|-
 
|[[File:Icircuit_textpad.png]]||Text Pad
 
|Текстовая клавиатура. С помощью нее можно вводить любой текст.||200 cm
 
|2 ед.|| on entered <PULSE IN>
 
| --- || <TEXT> string entered
 
|-
 
|[[File:Icircuit_medscan.png]]||Integrated Medical Analyser
 
|Простой медицинский сканер. Узнает количество здоровья у обьекта.|| 200 cm
 
|4 ед.|| scan <PULSE IN>
 
----
 
on scanned <PULSE OUT>
 
| <ANY><REF> target
 
|| <NUM> total health %
 
----
 
<NUM> total missing health
 
|-
 
|[[File:Icircuit_advmedscan.png]]||Integrated Advanced Medical Analyser
 
|Продвинутый медицинский сканер. Кроме подсчета здоровья умеет распознавать различные типы урона.|| 200 cm
 
|12 ед.|| scan <PULSE IN>
 
----
 
on scanned <PULSE OUT>
 
| <ANY><REF> target
 
|| <NUM> total health %
 
----
 
<NUM> total missing health
 
----
 
<NUM> brute, burn, tox, oxy, clone damage
 
|-
 
|[[File:Icircuit_advmedscan.png]]||Integrated Slime Scanner
 
|Миниатюрная версия сканера слаймов.|| 200 cm
 
|12 ед.|| scan <PULSE IN>
 
----
 
on scanned <PULSE OUT>
 
| <ANY><REF> target
 
||<TEXT> colour
 
----
 
<BOOL> adult
 
----
 
<NUM> nutrition, charge, health, genetic destability, slime core amount, growth progress
 
----
 
<LIST> possible mutations
 
|-
 
|[[File:Icircuit_advmedscan.png]]||Integrated Plant Analyser
 
|Сканер растений. Сканирует растения и выдает множество параметров на выходе.|| 200 cm
 
|12 ед.|| scan <PULSE IN>
 
----
 
on scanned <PULSE OUT>
 
| <ANY><REF> target
 
|| <TEXT> plant type
 
----
 
<NUM> age, potency, yield, maturation speed, production speed, endurance, lifespan, weed growth rate, weed vulnerability, weed level, pest level, toxicity level, water level, nutrition level, harvest, dead, plant health
 
|-
 
|[[File:Icircuit_advmedscan.png]]||Gene Scanner
 
|Сканер генов растений. Сканирует растения и выдает их особенности, а так-же реагенты, содержащиеся внутри.|| 200 cm
 
|1 ед.|| scan <PULSE IN>
 
----
 
on scanned <PULSE OUT>
 
| <REF> target
 
|| <LIST> traits
 
----
 
<LIST> reagents
 
|-
 
|[[File:Icircuit_videocam.png]]||Examiner
 
|Изучающий сканер. Сканирует цель и выдает ее параметры.|| 200 cm
 
|6 ед.|| scan <PULSE IN>
 
----
 
on scanned <PULSE OUT>
 
----
 
not scanned <PULSE OUT>
 
| <REF> target || <TEXT> name, description
 
----
 
<NUM> X, Y, distance, max reagents, amount of reagents
 
|-
 
|[[File:Icircuit_template.png]]||Local Locator
 
|Локатор. Определяет цель только когда устройство находится у кого-нибудь в руках.|| 200 cm
 
|1 ед.||locate <PULSE IN>
 
| --- || <ANY> located ref
 
|-
 
|[[File:Icircuit_template.png]]||Adjacent Locator
 
|Локатор. Определяет цель, стоящую рядом с устройством.|| 200 cm
 
|1 ед.||locate <PULSE IN>
 
----
 
found <PULSE OUT>
 
----
 
not found <PULSE OUT>
 
| <ANY> desired type ref || <ANY> located ref
 
|-
 
|[[File:Icircuit_template.png]]||List Advanced Locator
 
|Продвинутый локатор. Определяет цель, заданную списком в радиусе до 8 тайлов. Выводит список найденных вещей.|| 200 cm
 
|6 ед.|| locate <PULSE IN>
 
----
 
found <PULSE OUT>
 
----
 
not found <PULSE OUT>
 
| <LIST> desired type ref
 
----
 
<NUM> radius
 
|| <LIST> located ref
 
|-
 
|[[File:Icircuit_template.png]]||Advanced Locator
 
|Продвинутый локатор. Определяет цель в радиусе до 8 тайлов.|| 200 cm
 
|6 ед.|| locate <PULSE IN>
 
----
 
found <PULSE OUT>
 
----
 
not found <PULSE OUT>
 
| <ANY> desired type
 
----
 
<NUM> radius
 
|| <ANY> located ref
 
|-
 
|[[File:Icircuit_signaler.png]]||Integrated Signaler
 
|Сигналер. Может получать и посылать сигналы заданной частоты и кода.|| 200 cm
 
|4 ед.|| send signal <PULSE IN>
 
----
 
on signal sent <PULSE OUT>
 
----
 
on signal received <PULSE OUT>
 
| <NUM> frequency
 
----
 
<NUM> code
 
|| ---
 
|-
 
|[[File:Icircuit_signaler.png]]||NTnet Networking Circuit
 
|Интернет плата (Внутриигровая). Позволяет отправлять и получать пакеты данных по заданному адресу. Каждой плате выдается свой адрес, находящийся в описании.|| 200 cm
 
|4 ед.|| send data <PULSE IN>
 
----
 
on data received <PULSE OUT>
 
| <TEXT> target NTnet address, data to send, secondary text, passkey || <TEXT> address received, data received, secondary text received, passkey
 
|-
 
|[[File:Icircuit_gps.png]]||Global Positioning System
 
|GPS локатор. Выдает абсолютные (мировые) координаты устройства.|| 200 cm
 
|4 ед.|| get coordinates <PULSE IN>
 
----
 
on get coordinates <PULSE OUT>
 
| --- || <NUM> X
 
----
 
<NUM> Y
 
----
 
<NUM> Z
 
|-
 
|[[File:Icircuit_recorder.png]]||Microphone
 
|Микрофон. Служит для введения голосовых команд. Может использоваться для прослушки кого-либо. Умеет понимать все внутриигровые языки.|| 200 cm
 
|8 ед.|| on message received <PULSE OUT>
 
----
 
on translation <PULSE OUT>
 
| --- || <TEXT> speaker
 
----
 
<TEXT> message
 
|-
 
|[[File:Icircuit_recorder.png]]||Ranged Sensor
 
|Сенсор. На расстоянии до 8 тайлов сканирует любой обьект, на который вы укажете. Может игнорировать сумки.|| 200 cm
 
|36 ед.|| on scanned <PULSE OUT>
 
| <BOOL> ignore storage || <REF> scanned
 
|-
 
|[[File:Icircuit_recorder.png]]||Sensor
 
|Сенсор. Сканирует любой обьект, на который вы укажете. Может игнорировать сумки.|| 200 cm
 
|12 ед.|| on scanned <PULSE OUT>
 
| <BOOL> ignore storage || <REF> scanned
 
|-
 
|[[File:Icircuit_ibm.png]]||Internal Battery Monitor
 
|Внутренний сканер батареи. Выдает все параметры батареи.|| 200 cm
 
|1 ед.|| read <PULSE IN>
 
----
 
on read <PULSE OUT>
 
| --- || <NUM> cell charge, max charge, percentage
 
----
 
<REF> refference to assembly
 
|-
 
|[[File:Icircuit_ebm.png]]||External Battery Monitor
 
|Внешний сканер батареи. Выдает все параметры батареи заданного устройства.|| 200 cm
 
|2 ед.|| read <PULSE IN>
 
----
 
on read <PULSE OUT>
 
| <REF> target || <NUM> cell charge
 
----
 
<NUM> max charge
 
----
 
<NUM> percentage
 
|-
 
  
|}
+
Более сложные, например устройства для выкачки крови обычно '''механизмы'''.
  
== Lists ==
+
Cамые мощные устройства (по типу механизма получения ключа XOR encryption) - '''машины'''.
{| class="wikitable" style="text-align:center; background:#FFFFE0;" width="100%"
 
! style="background:#CCCCCC;" colspan="2" | Интегральная схема
 
! style="background:#CCCCCC;" | Описание
 
! style="background:#CCCCCC;" | Стоимость изготовления
 
! style="background:#CCCCCC;" | Сложность
 
! style="background:#CCCCCC;" | Активатор
 
! style="background:#CCCCCC;" | Входы
 
! style="background:#CCCCCC;" | Выходы
 
|-
 
|[[File:Icircuit_sum.png]]||Pick Circuit
 
|Действие со списком. Берет любой элемент из списка и выдает его на выход.||200 cm
 
|1 ед.|| compute <PULSE IN>
 
----
 
on success <PULSE OUT>
 
----
 
on failure <PULSE OUT>
 
| <LIST> input || <ANY> result
 
|-
 
|[[File:Icircuit_sum.png]]||Append Circuit
 
|Добавляет элемент в список.||200 cm
 
|1 ед.|| compute <PULSE IN>
 
----
 
on computed <PULSE OUT>
 
| <LIST> list to append
 
----
 
<ANY> input
 
|| <LIST> appended list
 
|-
 
|[[File:Icircuit_sum.png]]||Search Circuit
 
|Поиск. Ищет элемент в списке и если находит - выводит индекс расположения на выход.||200 cm
 
|1 ед.|| compute <PULSE IN>
 
----
 
on success <PULSE OUT>
 
----
 
on failure <PULSE OUT>
 
| <LIST> list
 
----
 
<ANY> item
 
|| <NUM> index
 
|-
 
|[[File:Icircuit_sum.png]]||At Circuit
 
|Подборщик. Подбирает указанный индексом элемент из списка.||200 cm
 
|1 ед.|| compute <PULSE IN>
 
----
 
on success <PULSE OUT>
 
----
 
on failure <PULSE OUT>
 
| <LIST> list
 
----
 
<INDEX> index
 
|| <ANY> item
 
|-
 
|[[File:Icircuit_sum.png]]||Delete Circuit
 
|Удалитель. Удаляет указанный индексом элемент из списка.|| 200 cm
 
|1 ед.|| compute <PULSE IN>
 
----
 
on computed <PULSE OUT>
 
| <LIST> list
 
----
 
<INDEX> index
 
|| <LIST> item
 
|-
 
|[[File:Icircuit_sum.png]]||Write Circuit
 
|Записыватель. Записывает указанный индексом элемент в список.|| 200 cm
 
|1 ед.|| compute <PULSE IN>
 
----
 
on success <PULSE OUT>
 
----
 
on failure <PULSE OUT>
 
| <LIST> list
 
----
 
<INDEX> index
 
----
 
<ANY> item
 
|| <LIST> redacted list
 
|-
 
|[[File:Icircuit_sum.png]]||Length Circuit
 
|Сканер. Сканирует список и выводит его длину.|| 200 cm
 
|1 ед.|| compute <PULSE IN>
 
----
 
on computed <PULSE OUT>
 
| <LIST> list
 
|| <NUM> item
 
|-
 
|[[File:Icircuit_sum.png]]||Join Text Circuit
 
|Обьединитель. Обьединяет список в текстовую строку.|| 200 cm
 
|1 ед.|| compute <PULSE IN>
 
----
 
on computed <PULSE OUT>
 
| <LIST> list to join
 
----
 
<TEXT> delimiter
 
----
 
<INDEX> index
 
----
 
<NUM> end
 
|| <TEXT> joined text
 
|-
 
|[[File:Icircuit_listconstruct.png]]||List Constructor Circuit
 
|Малый обьединитель. Строит список из 4 входов.|| 200 cm
 
|2 ед.|| compute <PULSE IN>
 
----
 
on computed <PULSE OUT>
 
| <ANY> input 1-4 || <LIST> result
 
|-
 
|[[File:Icircuit_listconstruct8.png]]||Medium List Constructor Circuit
 
|Средний обьединитель. Строит список из 8 входов.|| 200 cm
 
|4 ед.|| compute <PULSE IN>
 
----
 
on computed <PULSE OUT>
 
| <ANY> input 1-8 || <LIST> result
 
|-
 
|[[File:Icircuit_listconstruct8.png]]||Large List Constructor Circuit
 
|Большой обьединитель. Строит список из 16 входов.|| 200 cm
 
|8 ед.|| compute <PULSE IN>
 
----
 
on computed <PULSE OUT>
 
| <ANY> input 1-16 || <LIST> result
 
|-
 
|[[File:Icircuit_listdeconstruct.png]]||List Deconstructor Circuit
 
|Малый разделитель. Разьединяет список в точке, указанной индексом и выводит на выход каждую строку.|| 200 cm
 
|2 ед.|| compute <PULSE IN>
 
----
 
on computed <PULSE OUT>
 
| <LIST> input
 
----
 
<INDEX> index
 
|| <ANY> output 1-4
 
|-
 
|[[File:Icircuit_listdeconstruct8.png]]||Medium List Deconstructor Circuit
 
|Средний разделитель. Разьединяет список в точке, указанной индексом и выводит на выход каждую строку.|| 200 cm
 
|4 ед.|| compute <PULSE IN>
 
----
 
on computed <PULSE OUT>
 
| <LIST> input
 
----
 
<INDEX> index
 
|| <ANY> output 1-8
 
|-
 
|[[File:Icircuit_listdeconstruct8.png]]||Large List Deconstructor Circuit
 
|Большой разделитель. Разьединяет список в точке, указанной индексом и выводит на выход каждую строку.|| 200 cm
 
|8 ед.|| compute <PULSE IN>
 
----
 
on computed <PULSE OUT>
 
| <LIST> input
 
----
 
<INDEX> index
 
|| <ANY> output 1-16
 
|-
 
  
|}
+
'''Дроны''' - более нишевые устройства, но открывают огромные возможности благодаря возможности перемещения.
  
= Готовые устройства =
+
Также у всех видов корпусов есть подтипы, они ничем не отличаются, кроме того как они выглядят.
Если тебе, мой дорогой друг, не поддается возможность создать хоть что-то стоящее и впечатляющее, то здесь для тебя будут предоставлены примеры различных устройств. Для того, чтобы напечатать устройство - скопируй код и нажми в принтере {load assembly}. Для этого требуется наличие расширения '''Circuits Cloning''' [[Файл:Circuitclone_disc.png]]
 
  
{{Song
+
== Основы, часть II, Компоненты, Pin’ы и значения данных. ==
|name= Кидатель предметов MK1
 
|notes=[[Файл:large_electronic_shell.png]]. Кликните на предмет в пределе 1 тайла для помещения его во внутренний буфер. Кликните на любую дальнюю цель и предмет полетит в нее с учетом упреждения.
 
<pre> {"assembly":{"type":"electronic machine","opened":1},"components":[{"type":"tiny photovoltaic cell"},{"type":"ranged sensor","inputs":[[1,0,0]]},{"type":"beeper circuit","inputs":[[1,0,"ping"],[2,0,100],[3,0,0]]},{"type":"examiner"},{"type":"grabber","inputs":[[2,0,1]]},{"type":"thrower","inputs":[[1,0,2],[2,0,2]]},{"type":"less than gate","inputs":[[1,0,2.82843],[2,0,1.6]]},{"type":"less than gate","inputs":[[1,0,1.6],[2,0,2.82843]]}],"wires":[[[2,"O",1],[4,"I",1]],[[2,"O",1],[5,"I",1]],[[2,"A",1],[4,"A",1]],[[3,"A",1],[4,"A",2]],[[4,"O",3],[6,"I",1]],[[4,"O",4],[6,"I",2]],[[4,"O",5],[7,"I",1]],[[4,"O",5],[8,"I",2]],[[4,"A",2],[7,"A",1]],[[4,"A",2],[8,"A",1]],[[5,"O",1],[6,"I",3]],[[5,"A",1],[7,"A",2]],[[6,"A",1],[8,"A",2]]]} </pre>
 
}}
 
  
{{Song
+
'''Компоненты''' являются той частью машины, которые и делает всю работу. В них содержится логика работы от пассивной зарядки схемы до выстрела энергооружием по цели. Как было сказано в первой части, у каждого компонента есть занимаемое пространство и сложность, эти характеристики можно увидеть осмотрев компонент.
|name=Кидатель предметов MK2
 
|notes=[[Файл:Drone_electronic_shell.png]]. В отличии от MK1 бросает несколько раз один и тот-же предмет, что открывает некоторые возможности. Перед работой необходимо задать тип бросаемого обьекта в каждом кидателе
 
<pre> {"assembly":{"type":"electronic drone","opened":1},"components":[{"type":"thrower","name":"One","inputs":[[1,0,0],[2,0,2]]},{"type":"thrower","name":"Two","inputs":[[1,0,0],[2,0,2]]},{"type":"thrower","name":"Three","inputs":[[1,0,0],[2,0,2]]},{"type":"thrower","name":"Four","inputs":[[1,0,0],[2,0,2]]},{"type":"thrower","name":"Five","inputs":[[1,0,0],[2,0,2]]},{"type":"thrower","name":"Six","inputs":[[1,0,0],[2,0,2]]},{"type":"thrower","name":"Seven","inputs":[[1,0,0],[2,0,2]]},{"type":"thrower","name":"Eiht","inputs":[[1,0,0],[2,0,2]]},{"type":"thrower","name":"Nine","inputs":[[1,0,0],[2,0,2]]},{"type":"thrower","name":"Ten","inputs":[[1,0,0],[2,0,2]]},{"type":"ranged sensor"},{"type":"examiner"},{"type":"tiny photovoltaic cell"},{"type":"tiny photovoltaic cell"},{"type":"tiny photovoltaic cell"},{"type":"tiny photovoltaic cell"}],"wires":[[[1,"I",1],[12,"O",3]],[[1,"I",2],[12,"O",4]],[[1,"A",1],[12,"A",2]],[[2,"I",1],[12,"O",3]],[[2,"I",2],[12,"O",4]],[[2,"A",1],[12,"A",2]],[[3,"I",1],[12,"O",3]],[[3,"I",2],[12,"O",4]],[[3,"A",1],[12,"A",2]],[[4,"I",1],[12,"O",3]],[[4,"I",2],[12,"O",4]],[[4,"A",1],[12,"A",2]],[[5,"I",1],[12,"O",3]],[[5,"I",2],[12,"O",4]],[[5,"A",1],[12,"A",2]],[[6,"I",1],[12,"O",3]],[[6,"I",2],[12,"O",4]],[[6,"A",1],[12,"A",2]],[[7,"I",1],[12,"O",3]],[[7,"I",2],[12,"O",4]],[[7,"A",1],[12,"A",2]],[[8,"I",1],[12,"O",3]],[[8,"I",2],[12,"O",4]],[[8,"A",1],[12,"A",2]],[[9,"I",1],[12,"O",3]],[[9,"I",2],[12,"O",4]],[[9,"A",1],[12,"A",2]],[[10,"I",1],[12,"O",3]],[[10,"I",2],[12,"O",4]],[[10,"A",1],[12,"A",2]],[[11,"O",1],[12,"I",1]],[[11,"A",1],[12,"A",1]]]}
 
</pre>
 
}}
 
  
{{Song
+
Компоненты печатаются из принтера интегральных схем. Множество “крутых” компонентов заблокировано, для того, чтобы их разблокировать требуется вставить диск, изученный в РнД. Компоненты можно переработать в металл, используя принтер интегральных схем, также Вы сможете переработать и корпус полный компонентами тем же способом. После переработки компонентов, Вы можете также переработать корпус.
|name= D100 в радио
 
|notes=[[Файл:Small_electronic_shell.png]]. Для работы положите устройство рядом с интеркомом и киньте рядом рацию с включенным микрофоном.
 
<pre> {"assembly":{"type":"electronic assembly"},"components":[{"type":"microphone"},{"type":"random number generator circuit","inputs":[[1,0,1],[2,0,100]]},{"type":"text-to-speech circuit","inputs":[[1,0,"\u00df \u00ea\u00e8\u00e4\u00e0\u00fe \u00ea\u00f3\u00e1\u00e8\u00ea. \u00d7\u00e8\u00f1\u00eb\u00ee:8"]]},{"type":"equal gate","inputs":[[1,0,"\u00d2\u00fb \u00f1\u00f2\u00e0\u00ed\u00e5\u00f8\u00fc \u00ef\u00e8\u00e4\u00ee\u00f0\u00ee\u00ec."],[2,0,"\u00ca\u00f3\u00e1\u00e8\u00ea"]]},{"type":"concatenator","inputs":[[1,0,"\u00df \u00ea\u00e8\u00e4\u00e0\u00fe \u00ea\u00f3\u00e1\u00e8\u00ea. \u00d7\u00e8\u00f1\u00eb\u00ee:"],[2,0,"8"]]},{"type":"number to string","inputs":[[1,0,8]]}],"wires":[[[1,"O",2],[4,"I",1]],[[1,"A",1],[4,"A",1]],[[2,"O",1],[6,"I",1]],[[2,"A",1],[4,"A",2]],[[2,"A",2],[6,"A",1]],[[3,"I",1],[5,"O",1]],[[3,"A",1],[5,"A",2]],[[5,"I",2],[6,"O",1]],[[5,"A",1],[6,"A",2]]]} </pre>
 
}}
 
  
{{Song
+
Компоненты “общаются” между собой при помощи '''пинов'''. Пины подключаются друг к другу при помощи '''circuit wirer''', включая пины внутри компонента, и с другими компонентами, также используются для передачи информации через сигналы.
|name= Беспроводной зарядник
+
 
|notes=[[Файл:large_electronic_shell.png]]. Кликните на любой обьект, который необходимо зарядить, и он будет заряжаться на расстоянии.
+
Вкратце, это артерии и вены Ваших машин.
<pre> {"assembly":{"type":"electronic machine","opened":1},"components":[{"type":"large tesla power relay"},{"type":"one-sec delay circuit"},{"type":"fast ticker"},{"type":"toggle button"},{"type":"sensor"},{"type":"large power transmission circuit"},{"type":"large power transmission circuit"},{"type":"large power transmission circuit"},{"type":"large power transmission circuit"},{"type":"large power transmission circuit"},{"type":"large power transmission circuit"},{"type":"large power transmission circuit"},{"type":"large power transmission circuit"},{"type":"tenth-sec delay circuit"}],"wires":[[[2,"A",1],[3,"A",1]],[[2,"A",2],[14,"A",1]],[[3,"I",1],[4,"O",1]],[[3,"A",1],[14,"A",1]],[[5,"O",1],[6,"I",1]],[[5,"O",1],[7,"I",1]],[[5,"O",1],[8,"I",1]],[[5,"O",1],[9,"I",1]],[[5,"O",1],[10,"I",1]],[[5,"O",1],[11,"I",1]],[[5,"O",1],[12,"I",1]],[[5,"O",1],[13,"I",1]],[[6,"A",1],[14,"A",2]],[[7,"A",1],[14,"A",2]],[[8,"A",1],[14,"A",2]],[[9,"A",1],[14,"A",2]],[[10,"A",1],[14,"A",2]],[[11,"A",1],[14,"A",2]],[[12,"A",1],[14,"A",2]],[[13,"A",1],[14,"A",2]]]} </pre>
+
 
}}
+
Существуют три типа пинов:
 +
 
 +
[[Файл:Pins_metadata.png]]
 +
 
 +
<span style="color: green">Входные данные</span> хранят информацию о том, как или над чем должен работать компонент, к примеру, какое количество реагентов надо вколоть в человека, или сколько энергии передать.
 +
 
 +
<span style="color: blue">Выходные данные</span> хранят информацию, которая выводится после выполнения программы компонента.
 +
 
 +
<span style="color: red">Сигналы</span> говорят, когда выполнять программу компонента, и что делать при определенных случаях, чаще всего компонент содержит два сигнала: выполнить программу, выполнить программы после завершения данной программы.
 +
 
 +
У некоторых компонентов могут отсутствовать входные, выходные данные, сигналы или сразу все три. Пассивные компоненты такие как реле, не имеют пинов вообще и работают как только внутренние условия для работы удовлетворяются.
 +
 
 +
Пины различаются по переменным.
 +
 
 +
'''Переменные''':
 +
 
 +
Используя Отладчик можно задавать переменным постоянные значения. Используйте его, чтобы выбрать тип переменной.
 +
 
 +
Переменные с типом <NUM> могут содержать только числовое значение.
 +
 
 +
Переменные с типом <INDEX> могут содержать только положительные целые числа
 +
 
 +
Переменные с типом <COLOR> могут содержать только HEX (закодированный шестнадцатеричный цвет) (прим. #A9A9A9 - серый).
 +
 
 +
Переменные с типом <REF> могут содержать только имя объекта (прим. Ivan Ivanov).
 +
 
 +
Переменные с типом <TEXT> могут содержать только текстовую строку.
 +
 
 +
Переменные с типом <LIST> могут содержать только список с различными переменными.
 +
 
 +
Переменные с типом <BOOL> могут содержать значения true или false. Их также можно задать числовым значением.
 +
 
 +
Переменные с типом <ANY> могут содержать любые значения.
 +
 
 +
Существуют компоненты, которые переводят один тип переменной на другой, например конвертер '''“number to text”''' принимает на вход '''число''', а на выходе выводит число как '''текстовую строку'''.
 +
 
 +
Вы можете увидеть переменные рядом с именем пина, как и другие важные вещи:
 +
 
 +
[[Файл:Pins_data.png]]
 +
 
 +
Как Вы уже знаете, Вы можете привязать два пина между собой используя '''circuit wirer''', также Вы можете при помощи этого инструмента отвязать, для этого переключите его в режим '''unwire''', нажав на инструмент и прожав на '''название сопряженного pin'а''' и '''название pin'а''', к которому он подключен.
 +
 
 +
== Основы, часть III - сигналы. ==
 +
Как было сказано ранее - сигналы говорят, как и когда выполнять программу компонента. Это единственный способ заставить компонент сделать хоть что-то (если это не пассивные компоненты), так как даже если у Вас есть значения входных данных, то Вы все равно не сможете их использовать пока компонент не получит сигнал на использования данных. Существует два типа сигналов: PULSE_IN (вход) и PULSE_OUT (выход)
 +
PULSE_IN выступает в роли “приемника”. Когда он получают команду от приемника, запускается назначенную ему функция, если установлена, к примеру, “pulse in”, то запускается единственная функция компонента. В примере с компонентом light, “toggle light” включает или выключает свет от компонента, когда данный сигнал получает команду.
 +
PULSE_OUT выступает в роли “передатчика”. Он НЕ получают команду от приемника, но может быть активирован через функцию компонента после ее завершения. К примеру, компонент “reagent pump” имеет сигнал “on transfer”, который активируется при успешной передачи реагентов в интегральную схему, и который при активации подаст сигнал всем подключенным PULSE_INам на активацию их функций. PULSE_OUT не могут быть подключены к другому PULSE_OUT.
 +
 
 +
Понимание работы сигналов является краеугольным камнем работы с интегральными схемами. В пример можно привести то, что компонент “button” имеет сигнал “on pressed”, который может быть подключен к компоненту “light”, пину “toggle light”, используя circuit wirer, который активирует функцию “light” и будет светить, до тех пор, пока у интегральной схемы есть ток, что позволяет пользователю интегральной схемы включать и выключать свечение интегральной схемы по нажатию кнопки. Вы также можете присоединить множество сигналов к одному сигналу, к примеру с той же кнопкой, Вы помимо активации функции света, можете связать сигнал с сигналом “play sound”, компоненты “beeper”, которая будет проигрывать звук, который был назначен ее в переменной (смотри список переменных в описание компонента). Это заставит машину помимо включения света проигрывать звук.
 +
 
 +
== Основы, часть IV, управление потоком. ==
 +
Управление потоком - термин, используемый в сфере разработки языков программирования для определения в какой последовательности запускается код. Данный принцип применим и в интегральных схемах. Хороший менеджмент сопряжения очень важен для больших и/или сложных схем.
 +
 
 +
У нас есть несколько компонентов для управлением потоком, а именно для разбора входного сигнала на несколько сигналов, использование таймеров для того, чтобы все было использована в нужный момент (лучше если логика схемы не будет зависеть от этого из-за проблемы [https://ru.wikipedia.org/wiki/%D0%A1%D0%BE%D1%81%D1%82%D0%BE%D1%8F%D0%BD%D0%B8%D0%B5_%D0%B3%D0%BE%D0%BD%D0%BA%D0%B8 состояние гонки] ([https://en.wikipedia.org/wiki/Race_condition race condition])), также многие схемы уже есть заложенный функционал для исполнения функций после выполнения логики компонента (пример: on get coordinates на картинки ниже).
 +
 
 +
Вот пример того как выглядит такое состояние:
 +
 
 +
[[Файл:Race_condition.png]]
 +
 
 +
Когда кнопка нажимается, то она отправляет сигнал на исполнение логики GPS, затем сразу же отправляет сигнал на логику экранов, если логика GPS не успеет поставить полученные значение в салатовые и синие переменные до того, когда логика кнопки дойдет до вызова логик экранов, то экраны отобразят неверные значения.
 +
 
 +
= Создание простой интегральной схемы: шаг за шагом. =
 +
 
 +
Чтобы собрать всю информацию вместе давайте шаг за шагом создадим простой фонарик. Для этого мы возьмем корпус, батарею, мини-солнечную батарея, световую плату, кнопку.
 +
 
 +
Напечатайте необходимые предметы (батарейка в протолате) в интегральном принтере плат (Integrated Circuit Printer), для корпуса возьмите assembly type-a
 +
 
 +
[[Файл:Kushnya.png]]
 +
 
 +
Как только напечатайте эти предметы, вставьте все в корпус.
 +
 
 +
Как только Вы возьмете сборку в руку, или используете предметы, у Вас будут два варианта взаимодействия, внутренний интерфейс (слева) и внешний (справа)
 +
 
 +
[[Файл:Kushnya1.png]]
 +
 
 +
Обратите внимание на параметры пространство и сложность. Обратили? Забудьте.
 +
 
 +
Чтобы заставить схему работать, нам необходимо соединить канал сигнала кнопки с каналом сигнала света.
 +
 
 +
Приступим!
 +
 
 +
Возьмите в руки Integrated Wirer, подвяжите провод на pin’е “on pressed”
 +
 
 +
[[Файл:Kushnya2.png]]
 +
 
 +
Затем перейдите в компонент “light” (также при успехе Вы заметите сообщение в чате “You attach a data wire to button’s on pressed data channel”), потом соедините на “toggle light”
 +
 
 +
[[Файл:Kushnya3.png]]
 +
 
 +
Если у Вас получается так:
 +
 
 +
[[Файл:Int_pin_connection_suc.png]]
 +
 
 +
то продолжайте, у Вас уже почти получилось.
 +
 
 +
Вы присоединили два канала и теперь Ваша интегральная схема готова к работе.
 +
 
 +
[[Файл:Kushnya4.png]]
 +
 
 +
Осталось только закрыть корпус интегралки отверткой.
 +
 
 +
[[Файл:Kushnya5.png]]
 +
 
 +
Наша интегральная схема полностью завершена и работоспособна, зайдите в темную комнату и нажмите на кнопку. Поздравляю, бегите в бар за шампанским чтобы отметить свои первые шаги в карьере интегральщика!
 +
 
 +
До:
 +
 
 +
[[Файл:fin.png]]
 +
 
 +
После:
 +
 
 +
[[Файл:fin1.png]]
 +
 
 +
* “Да, будет свет!” © Бог.
 +
 
 +
Ну вот и все. Дальше вы можете делать все что пожелает ваша душа, замените ligth на advanced light, поэкспериментируйте с дебаггером (Circuit Debugger) и этим компонентом.
 +
 
 +
И это только снег с поверхности айсберга интегральных схем - есть возможность создать портативную зарядку энергетического оружия, устройство, которое будет переводить еду в реагенты и будет питать Вас ими, переводчики, которые позволят людям говорить не знаю языка друг друга, единственное ограничение интегральных схем - Ваше воображения*
 +
 
 +
\* если, конечно, нет компонентов для реализации, но инженеры с ЦК с радостью разработают для Вас любые компоненты.
 +
 
 +
Добро пожаловать в интегральные схемы, господа.
 +
 
 +
= Полезные советы =
 +
 
 +
* Tiny photovoltaic cell отлично подходит для питания простых схем.
 +
 
 +
* Starter компонент отлично подходит для загрузки базовой информации по работе с интегралкой.
 +
 
 +
* Вы можете сделать n-секундный тикер из n-секундного таймера и стартера, замкнув таймер вход и выход таймера на себя и подключив стартер ко входу таймера.
 +
 
 +
* Маленькие экраны показывают информацию только при осмотре, обычные экраны отображают информацию при осмотре и если Вы держите корпус. Большой в радиусе 1 метра.
 +
 
 +
* Не забывайте что почти любая деятельность на станции может быть автоматизированна с помощью интегральных схем. Главное обладать достаточной фантазией и навыками.
 +
 
 +
* Здесь пригодится больше простой математики, чем алгебры и тригонометрии. Теория групп и теория автоматизации содержит паттерны для решения большинства проблем с интегральными схемами, они не сложные, изучите их.
 +
 
 +
* Система интегральных схем позволяет опытным инженерам создавать убер-схемы для массового уничтожения космонавтов. ПОЖАЛУЙСТА, НЕ ИСПОЛЬЗУЙТЕ ИХ!!!! Мы любим схемы, они приносят нам всем веселья, не заставляйте инженеров с ЦК уничтожать платы из-за Ваших действий. Пожалуйста?

Текущая версия от 20:15, 12 мая 2023

В разработке…


Jobeng.png
Данная статья помечена как неоконченная. Это означает, что статья находится на доработке, поэтому является неверной или неактуальной.

Вы можете помочь проекту Onyxyeye@256x256.png Onyx и сообществу Animus-logo.png SS13 в целом — зайдите на наш Bus Mainframes.gif Портал сообщества.


Доступно из игры


Внимание! Материал, изложенный ниже, доступен для прочтения в виде книги Book2.png «Guide to Integrated Circuits» играющим на серверах SS13 нашего проекта.
Librarycomputer.gif

Постарайтесь не размещать ниже этой плашки информацию, которая не должна быть доступна персонажам внутри игры (см. OOC в IC).

Интегральные платыIntergrated printer.png

Дисклеймер: Интегральные схемы довольно сложны для восприятия “не-инженерного” ума. А для максимальной эффективности требуется несколько часов для поиска и прогона оптимального количества функций (компонентов) и их связей, в данном руководстве мы постараемся затронуть легкий к восприятию для всех людей способ организации производства интегральных схем.

Теперь отдел Исследования и Разработок может порадовать Вас системой автоматического сканирования органических форм жизни на наличие ранений, датчиками здоровья, которые могут передавать видео в режиме онлайн, автоматическими турелями, системами автоматизированного уничтожения или просто… Шприц? Действительно, Вы хотите запихнуть ШПРИЦ в проспекты нового отдела? Совсем поехавшие идиоты?! Ты уволен! Это не Вам, [ВСТАВЬТЕ НАЗВАНИЕ ВАШЕЙ ДОЛЖНОСТИ]. Да, ты, бери вещи и на выход. Впрочем, можно сделать все, что придет вам в голову при помощи новой СИСТЕМЫ ИНТЕГРАЛЬНЫХ СХЕМ™. Несмотря на то, что с первого взгляда они могут показаться трудными к использованию предметами, на самом деле все довольно просто, вдобавок наши инженеры всегда продолжают улучшать интерфейсы для облегчения работы с интегральными схемами, что не скажешь на другие филиалы, которые… Впрочем не важно. Что-ж… Начнем!

Дисклеймер: предыдущие утверждение о том, что разработку таких схем очень простая - наглая ложь. Конечно, для “простых” схем это легко, но когда Вы начнете создавать более продвинутые схемы Вам понадобиться немного школьной математики, возможно даже высшей (вузовской) математики, и, конечно же, знание возможностей из смежных отраслей станции (химия, ксенобиология, даже знания из отдела СБ). Впрочем, даже на взгляд опытного “интегральщика” простые схемы могут очень сильно удивить незнакомого со спецификой интегральных схем человека. Будьте готовы к непредвиденным последствиям.


Инструменты

Integrated Circuit Printer - Ваше все, тут создаются основы для Ваших схем, получаются компоненты, создаются инструменты для сопряжения компонентов.

Circuit Wirer - используется для создания связей между компонентами в интегральной схеме (печатается в Integrated Circuit Printer).

Circuit Debugger - позволяет выставлять значения в переменные, активировать пины уровня сигнала (печатается в Integrated Circuit Printer).

Батарея - используется для питание интегральной схемы. Без питания - нет работы интегральной схемы.

Опционально:

Circuit Analyzer - позволяет скопировать код интегральной схемы для последующего использования в других схем. РУССКИЙ ТЕКСТ НЕ ПЕРЕНОСИТСЯ

Circuit Detailer - инструмент покраски схемы в выбранной цвет, говорят, что такая интегралка на 20 процентов лучше работает, но это слухи.

Отвертка - используется для того, чтобы закрыть внутренности интегральной схемы от глаз пользователя этой схемы.

Включенный сварочный аппарат - при использования на закрытой схеме может заваривает крышку и не позволяет открывать ее отверткой, также при повреждения интегралки ее можно починить этим инструментом.

Разводной Ключ (wrench) - используется для закрепление интегралки на пол.

Руководство рассчитано на то, что у Вас есть хотя бы обязательные инструменты.

Основы, часть I, аппаратура, пространство и сложность.

Интегральная схема - дом компонентов. Без интегральной схемы - нет машины. Также интегральной схеме необходим источник питания - батарейка, для питания компонентов. Отдел РнД имеет доступ к протолату и зарядникам, поэтому проблем с питанием нет. Если Вы работаете в отделе, где не можете изготовить батареи, то попытайтесь поискать их на объекте или попросить у ученых. Также существует еще две важные переменные:

Space - пространство максимальное занимаемое компонентами в схеме, Вы не можете вставить больше компонентов по пространству (в сумме), чем указанное в данной переменной

Complexity - максимальная “сложность” схемы, Вы не можете вставить больше компонентов по сложности (в сумме), чем указанное в данной переменной.

Почти каждый компонент вставляемый в интегральную схему имеет 1 “пространство”, также у компонента есть “сложность”, которая зависит от того, сколько функций выполняет данный компонен. Например: кнопка выполняет одно действие - замкнуть цепь активации при нажатии, и поэтому она имеет 1 “сложность”, но интегрированный гипо-инжектор имеет функции инжектирования, высасывания реагентов в что-то и перемещение реагентов внутри схемы - 20 “сложности”.

Основная задача схемодела заключается в наборе “фич” схемы за наименьшее количество “сложности” и “пространства”. Количества “пространства” и “сложности” зависит от типа корпуса интегральных схем:

  • Сборки имеют малый размер, позволяют носить себя в кармане, имеют 25 пространства и 75 сложности
  • Устройства имеют очень маленький размер, имеют 25 / 2 пространства и 75 / 2 сложности.
  • Механизмы имеют средний размер, имеют 50 пространства и 150 сложности
  • Машины имеют большой размер, имеют 100 пространства и 300 сложности.
  • Дроны имеют большой размер, имеют 75 пространства и 225 сложности, единственные корпуса, которые могут перемещаться независимо от оператора.
  • Настенные устройства в зависимости от названия имеют разный размер и сложность, можно ставить на стены.

Простые по сложности схемы (фонарик, переводчик) стоит вставлять в корпуса типа сборки.

Более сложные, например устройства для выкачки крови обычно механизмы.

Cамые мощные устройства (по типу механизма получения ключа XOR encryption) - машины.

Дроны - более нишевые устройства, но открывают огромные возможности благодаря возможности перемещения.

Также у всех видов корпусов есть подтипы, они ничем не отличаются, кроме того как они выглядят.

Основы, часть II, Компоненты, Pin’ы и значения данных.

Компоненты являются той частью машины, которые и делает всю работу. В них содержится логика работы от пассивной зарядки схемы до выстрела энергооружием по цели. Как было сказано в первой части, у каждого компонента есть занимаемое пространство и сложность, эти характеристики можно увидеть осмотрев компонент.

Компоненты печатаются из принтера интегральных схем. Множество “крутых” компонентов заблокировано, для того, чтобы их разблокировать требуется вставить диск, изученный в РнД. Компоненты можно переработать в металл, используя принтер интегральных схем, также Вы сможете переработать и корпус полный компонентами тем же способом. После переработки компонентов, Вы можете также переработать корпус.

Компоненты “общаются” между собой при помощи пинов. Пины подключаются друг к другу при помощи circuit wirer, включая пины внутри компонента, и с другими компонентами, также используются для передачи информации через сигналы.

Вкратце, это артерии и вены Ваших машин.

Существуют три типа пинов:

Pins metadata.png

Входные данные хранят информацию о том, как или над чем должен работать компонент, к примеру, какое количество реагентов надо вколоть в человека, или сколько энергии передать.

Выходные данные хранят информацию, которая выводится после выполнения программы компонента.

Сигналы говорят, когда выполнять программу компонента, и что делать при определенных случаях, чаще всего компонент содержит два сигнала: выполнить программу, выполнить программы после завершения данной программы.

У некоторых компонентов могут отсутствовать входные, выходные данные, сигналы или сразу все три. Пассивные компоненты такие как реле, не имеют пинов вообще и работают как только внутренние условия для работы удовлетворяются.

Пины различаются по переменным.

Переменные:

Используя Отладчик можно задавать переменным постоянные значения. Используйте его, чтобы выбрать тип переменной.

Переменные с типом <NUM> могут содержать только числовое значение.

Переменные с типом <INDEX> могут содержать только положительные целые числа

Переменные с типом <COLOR> могут содержать только HEX (закодированный шестнадцатеричный цвет) (прим. #A9A9A9 - серый).

Переменные с типом <REF> могут содержать только имя объекта (прим. Ivan Ivanov).

Переменные с типом <TEXT> могут содержать только текстовую строку.

Переменные с типом <LIST> могут содержать только список с различными переменными.

Переменные с типом <BOOL> могут содержать значения true или false. Их также можно задать числовым значением.

Переменные с типом <ANY> могут содержать любые значения.

Существуют компоненты, которые переводят один тип переменной на другой, например конвертер “number to text” принимает на вход число, а на выходе выводит число как текстовую строку.

Вы можете увидеть переменные рядом с именем пина, как и другие важные вещи:

Pins data.png

Как Вы уже знаете, Вы можете привязать два пина между собой используя circuit wirer, также Вы можете при помощи этого инструмента отвязать, для этого переключите его в режим unwire, нажав на инструмент и прожав на название сопряженного pin'а и название pin'а, к которому он подключен.

Основы, часть III - сигналы.

Как было сказано ранее - сигналы говорят, как и когда выполнять программу компонента. Это единственный способ заставить компонент сделать хоть что-то (если это не пассивные компоненты), так как даже если у Вас есть значения входных данных, то Вы все равно не сможете их использовать пока компонент не получит сигнал на использования данных. Существует два типа сигналов: PULSE_IN (вход) и PULSE_OUT (выход) PULSE_IN выступает в роли “приемника”. Когда он получают команду от приемника, запускается назначенную ему функция, если установлена, к примеру, “pulse in”, то запускается единственная функция компонента. В примере с компонентом light, “toggle light” включает или выключает свет от компонента, когда данный сигнал получает команду. PULSE_OUT выступает в роли “передатчика”. Он НЕ получают команду от приемника, но может быть активирован через функцию компонента после ее завершения. К примеру, компонент “reagent pump” имеет сигнал “on transfer”, который активируется при успешной передачи реагентов в интегральную схему, и который при активации подаст сигнал всем подключенным PULSE_INам на активацию их функций. PULSE_OUT не могут быть подключены к другому PULSE_OUT.

Понимание работы сигналов является краеугольным камнем работы с интегральными схемами. В пример можно привести то, что компонент “button” имеет сигнал “on pressed”, который может быть подключен к компоненту “light”, пину “toggle light”, используя circuit wirer, который активирует функцию “light” и будет светить, до тех пор, пока у интегральной схемы есть ток, что позволяет пользователю интегральной схемы включать и выключать свечение интегральной схемы по нажатию кнопки. Вы также можете присоединить множество сигналов к одному сигналу, к примеру с той же кнопкой, Вы помимо активации функции света, можете связать сигнал с сигналом “play sound”, компоненты “beeper”, которая будет проигрывать звук, который был назначен ее в переменной (смотри список переменных в описание компонента). Это заставит машину помимо включения света проигрывать звук.

Основы, часть IV, управление потоком.

Управление потоком - термин, используемый в сфере разработки языков программирования для определения в какой последовательности запускается код. Данный принцип применим и в интегральных схемах. Хороший менеджмент сопряжения очень важен для больших и/или сложных схем.

У нас есть несколько компонентов для управлением потоком, а именно для разбора входного сигнала на несколько сигналов, использование таймеров для того, чтобы все было использована в нужный момент (лучше если логика схемы не будет зависеть от этого из-за проблемы состояние гонки (race condition)), также многие схемы уже есть заложенный функционал для исполнения функций после выполнения логики компонента (пример: on get coordinates на картинки ниже).

Вот пример того как выглядит такое состояние:

Race condition.png

Когда кнопка нажимается, то она отправляет сигнал на исполнение логики GPS, затем сразу же отправляет сигнал на логику экранов, если логика GPS не успеет поставить полученные значение в салатовые и синие переменные до того, когда логика кнопки дойдет до вызова логик экранов, то экраны отобразят неверные значения.

Создание простой интегральной схемы: шаг за шагом.

Чтобы собрать всю информацию вместе давайте шаг за шагом создадим простой фонарик. Для этого мы возьмем корпус, батарею, мини-солнечную батарея, световую плату, кнопку.

Напечатайте необходимые предметы (батарейка в протолате) в интегральном принтере плат (Integrated Circuit Printer), для корпуса возьмите assembly type-a

Kushnya.png

Как только напечатайте эти предметы, вставьте все в корпус.

Как только Вы возьмете сборку в руку, или используете предметы, у Вас будут два варианта взаимодействия, внутренний интерфейс (слева) и внешний (справа)

Kushnya1.png

Обратите внимание на параметры пространство и сложность. Обратили? Забудьте.

Чтобы заставить схему работать, нам необходимо соединить канал сигнала кнопки с каналом сигнала света.

Приступим!

Возьмите в руки Integrated Wirer, подвяжите провод на pin’е “on pressed”

Kushnya2.png

Затем перейдите в компонент “light” (также при успехе Вы заметите сообщение в чате “You attach a data wire to button’s on pressed data channel”), потом соедините на “toggle light”

Kushnya3.png

Если у Вас получается так:

Int pin connection suc.png

то продолжайте, у Вас уже почти получилось.

Вы присоединили два канала и теперь Ваша интегральная схема готова к работе.

Kushnya4.png

Осталось только закрыть корпус интегралки отверткой.

Kushnya5.png

Наша интегральная схема полностью завершена и работоспособна, зайдите в темную комнату и нажмите на кнопку. Поздравляю, бегите в бар за шампанским чтобы отметить свои первые шаги в карьере интегральщика!

До:

Fin.png

После:

Fin1.png

  • “Да, будет свет!” © Бог.

Ну вот и все. Дальше вы можете делать все что пожелает ваша душа, замените ligth на advanced light, поэкспериментируйте с дебаггером (Circuit Debugger) и этим компонентом.

И это только снег с поверхности айсберга интегральных схем - есть возможность создать портативную зарядку энергетического оружия, устройство, которое будет переводить еду в реагенты и будет питать Вас ими, переводчики, которые позволят людям говорить не знаю языка друг друга, единственное ограничение интегральных схем - Ваше воображения*

\* если, конечно, нет компонентов для реализации, но инженеры с ЦК с радостью разработают для Вас любые компоненты.

Добро пожаловать в интегральные схемы, господа.

Полезные советы

  • Tiny photovoltaic cell отлично подходит для питания простых схем.
  • Starter компонент отлично подходит для загрузки базовой информации по работе с интегралкой.
  • Вы можете сделать n-секундный тикер из n-секундного таймера и стартера, замкнув таймер вход и выход таймера на себя и подключив стартер ко входу таймера.
  • Маленькие экраны показывают информацию только при осмотре, обычные экраны отображают информацию при осмотре и если Вы держите корпус. Большой в радиусе 1 метра.
  • Не забывайте что почти любая деятельность на станции может быть автоматизированна с помощью интегральных схем. Главное обладать достаточной фантазией и навыками.
  • Здесь пригодится больше простой математики, чем алгебры и тригонометрии. Теория групп и теория автоматизации содержит паттерны для решения большинства проблем с интегральными схемами, они не сложные, изучите их.
  • Система интегральных схем позволяет опытным инженерам создавать убер-схемы для массового уничтожения космонавтов. ПОЖАЛУЙСТА, НЕ ИСПОЛЬЗУЙТЕ ИХ!!!! Мы любим схемы, они приносят нам всем веселья, не заставляйте инженеров с ЦК уничтожать платы из-за Ваших действий. Пожалуйста?