Правила

Правил у нас всего три. Это:

  1. Соседние окрашенные клетки являются частью одной и той же проводящей дорожки.

  2. Пересечение двух дорожек через неокрашенную клетку является пересечением двух дорожек.

  3. Специальный паттерн (домик) во всех своих четырех вращениях является вентилем NOT (НЕ).

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

Напоминаю, правила применяются игнорируя цвет клетки. Соседние синяя и красная клетки - это один и тот же проводник. Черный цвет - это отсутствие цвета. Клетки, дотрагивающиеся углами соседними не являются (углы у клеток скруглены и они таким образом в действительности не соприкасаются).

А теперь детальнее.

Дорожка

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

Три различных проводника:

:x white
+------------------------+
|                        |
| xxxxxxxxxxxxxxxxxxxxxx |
|                        |
|  xxxxx  xxxx    xxxx   |
|      xxxx  xxxxxx  x   |
|                 x  x   |
|                 x  x   |
|   xxxxxxxxxxx   xxxx   |
|xxxxxxxxxxxxxx   x  x   |
|   xxxxxxxxxxx   x  x   |
|                        |
+------------------------+

Пересечение двух дорожек

Так как у нас не 3D, то мы используем специальный паттерн пересечения, с дыркой посередине. Это антианалог схемотехнической точки.

Нет посередине дырки - у нас один и тот же проводник из двух соединенных дорожек. Есть посередине дырка - у нас две независимые дорожки (не четыре!).

В особо сложных или важных случаях нам помогут не запутаться цвета.

Две пересекающиеся шины и еще пара дорожек:

:o orange :$ white :O yellow
:@ magenta :# cyan
+------------------------------------------------------------+
|                        O   @                        $ $    |
|            $$$$$$$$$$$$ $$$ $$$$$$$$$$$$$$$$$$$$$$$$$ $    |
|            $           O   @                          $    |
|            $  $$$$$$$$$ $$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$    |
|            $  $        O   @                               |
|            $  $  ###### ### ###############################|
|            $  $  #     O   @                               |
|            $  $  #  ooo ooo ooooooooooooooooooooooooooooooo|
|            $  $  #  o  O   @                               |
|            $  $  #  o  O   @                               |
|            $  $  #  o  O   @                               |
|            $  $  #  o  O   @                               |
|            $  $  #  o  O   @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@|
|            $  $  #  o  O                                   |
|            $  $  #  o  O                                   |
|$$$$$$$$$$$$ $$ $$ $$ $$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$|
|            $  $  #  o  O                $                  |
|            $  $  #  o  O                $                  |
|$$$$$$$$$$$$ $$ $$ $$ $$ $$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$|
|            $  $  #  o  O              $ $                  |
|            $  $  #  o  O              $ $                  |
|$$$$$$$$$$$$ $$ $$ $$ $$ $$$$$$$$$$$$$$ $ $$$$$$$$$$$$$$$$$$|
|            $  $  #  o  O            $ $ $                  |
|            $  $  #  o  O            $ $ $                  |
|$$$$$$$$$$$$ $$ $$ $$ $$ $$$$$$$$$$$$ $ $ $$$$$$$$$$$$$$$$$$|
|            $  $  #  o  O          $ $ $ $                  |
|            $  $  #  o  O          $ $ $ $                  |
|            $  $  #  o  O          $ $ $ $                  |
+------------------------------------------------------------+

Специальный паттерн NOT

Это паттерн (домик, стрелочка), который на выход (крышу, кончик) выдает инвертированный сигнал. Если домик под напряжением, то крыша - нет. Если домик не под напряжением, то крыша снова наоборот, бьется.

Все возможные вентили NOT:

:o white
+----------------------+
|                      |
|  oo    o    oo  ooo  |
|  o o  o o  o o  o o  |
|  oo   ooo   oo   o   |
|                      |
+----------------------+

Запустите симуляцию, посмотрите как на выводе каждого вентиля появится напряжение.

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

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

Идем дальше…

Copyright (c) 2023 Otus-Lisp