Ну что ж, давайте построим на нашим правилах элементарнейшую логику - логические вентили. Договоримся, что как и обычно в схемотехнике входы у нас будут слева, а выходы справа.
Этот вентиль у нас есть изначально, осталось только подвести вход и выход.
:x white :y yellow :g green
+----------+
| |
| xx |
| gggx xyy |
| xx |
| |
+----------+
Покликайте на входную (левую, зеленую) часть вентиля и посмотрите как меняется выходная (правая, желтая).
OR можно построить вообще без вентилей, но тогда у нас будет обратное распространение сигнала по обоим веткам. Поэтому лучше схему усложнить и входы изолировать парами элементов NOT. Это замедлит вентиль на 1 такт, увеличит его площадь (до 49 клеток, белая часть схемы), но зато входы будут независимы друг от друга.
:x white :y yellow :g green
+-------------------------+
| |
| xx xx |
| gggx gggx xx xx |
| x xx xx x |
| xyyy xyyy |
| x xx xx x |
| gggx gggx xx xx |
| xx xx |
| |
+-------------------------+
А еще мы можем немного оптимизировать наш вентиль по площади, до 42 клеток, вот так:
:x white :y yellow :g green
+-------------+
| |
| xx xxx |
| gggx xx x |
| xx x |
| xyyy |
| xx x |
| gggx xx x |
| xx xxx |
| |
+-------------+
Мышкой можно понажимать один или второй входы и увидеть, как через один такт меняется значение выхода. А если вы хотите поменять одновременно оба входа - нажмите паузу, выставьте значения входов в нужные и снова нажмите старт.
Чтобы выставить оба входа в активное состояние одновременно, поставьте схему на паузу.
:x white :y yellow :g green
+---------------------------------+
| |
| xx xx |
| ggxx xx ggxx xx |
| xx xx xx xx xx |
| x xyyy x xx xyyy |
| xx xx xx xx xx |
| ggxx xx ggxx xx |
| xx xx |
| |
+---------------------------------+
Copyright (c) 2023 Otus-Lisp