Repeater: различия между версиями

Материал из Dwarf Fortress Wiki
Перейти к навигацииПерейти к поиску
(→‎Wave repeater: перевод)
Строка 38: Строка 38:


===Гоблинский генератор импульсов===
===Гоблинский генератор импульсов===
Designs based on [[creature logic]] are also possibleThe following example is compact, reliable, and fairly predictable.
Также возможны проекты на основе [[creature logic|логики существ]].  Следующий пример компактен, надёжен и легко предсказуем.


{{diagram|spaces=yes|\
{{diagram|spaces=yes|\
Строка 47: Строка 47:
   ╚═╝  }}
   ╚═╝  }}


A captured goblin placed between the two pressure plates drives this system in his attempts to reach map edge through paths {{Raw Tile|¢p|#F00|#000}}.  {{Raw Tile|^|#FF0|#000}} is linked to all {{Raw Tile|¢|#FF0|#000}}, and {{Raw Tile|^|#F0F|#00F}} is linked to all {{Raw Tile|¢|#00F|#000}}, as well as to outputThis gives the goblin a path away from his constrained tile every 100 ticksDelays in picking up path tend to make it run a cycle every 250 ticks. with on and off signals separated by about 120 ticksIts rate of repetition can be doubled by hooking both {{Raw Tile|^|#FFF|#000}} to output, although this leads to close placement of on and off signals.
Пойманный гоблин, помещённый между двумя нажимными плитами, приводит эту систему в действие своими попытками достигнуть края карты по путям {{Raw Tile|¢p|#F00|#000}}.  {{Raw Tile|^|#FF0|#000}} связана со всеми {{Raw Tile|¢|#FF0|#000}}, а {{Raw Tile|^|#F0F|#00F}} связана со всеми {{Raw Tile|¢|#00F|#000}}, as well asтак же как и с выходомТаким образом, у гоблина появляется путь наружу с навязанного ему тайла каждые 100 тиковЗадержки в появлении пути заставляют его бегать по кругу каждые 250 тиков с сигналами включения/выключения, расходящимися примерно на 120 тиковЧастоту повторения можно удвоить сцеплением обеих {{Raw Tile|^|#FFF|#000}} с выходом, однако это приведёт к сближению сигналов включения и выключения.


==Создание часов==
==Создание часов==

Версия от 03:34, 12 марта 2013

Генератор импульсов — устройство, генерирующее периодически команды включить-выключить. Существует несколько конструкций таких устройств, использующие жидкость или животное, нажимающее на нажимные плиты.

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

Всегда оставляйте возможность аварийной остановки и доступа дварфов для модификации или починки.

Данная статья помечена как не оконченная.
Вы можете прочитать эту статью на английском или помочь проекту её переводом.

Волновой генератор импульсов

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

╔══════╗ ╔══════╗ ║[#F0F]^.....║-->║[#0FF]7[#0FF]7[#0FF]7[#0FF]7[#0FF]7[#0FF]6║ ╚══════╝ ╚══════╝


Единственный тайл воды высотой 6/7 проходит через канал, время от времени переключая нажимную плиту, отжимаемую при уровне воды 0-6/7. Чтобы получить нужное количество воды в канале, проще всего заполнить его полностью, затем назначить его в качестве источника воды (и, возможно, пруда), после чего дварфы заберут одно ведро воды.

В соответствии с проектом (1 тайл воды из 6 запускает переключение), эта установка срабатывает быстро, на одном уровне с описанными ниже генераторами импульсов. Что не сразу очевидно, строительство канала меньшей длины или удаление большего количества воды замедляет действие генератора импульсов. Это происходит потому, что нажимная плита никогда не сможет вернуться в первоначальное состояние, для чего он нужно 100 тиков.

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

Генератор импульсов на жидкостной логике

Традиционный проект генератора импульсов на основе жидкости предложен на форуме B12 участником AncientEnemy):

≈≈≈≈≈ — бесконечный источник воды
═╗≈╔═ — стена, ограничивающая канал после строительства
 ╠F╣  — запорный шлюз (связан с внешним рычагом)
 ║#║  — 1-тайловый подъёмный мост (связан с нажимной плитой)
 ║p┼  — нажимная плита (срабатывает на уровень воды 7/7) и дверь для доступа
 ╠F╣  — шлюз (связанный с нажимной плитой)
 ╚═╝

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

Этот генератор импульсов переключается довольно медленно, с периодом примерно в 300 шагов, что делает его пригодным для управления мостами, шлюзами и выдвижными шипами. Выключение обычно происходит примерно через 200 тиков после отдачи команды. В качестве дополнительного бонуса, южную стену можно убрать и подключить к цистерне, уровень воды которой будет автоматически поддерживаться на глубине 3/7-4/7 - идеальное место для плавания!

Альтернативным генератором импульсов на основе воды является проект на странице en:User:SL/Logic_Gates#Repeater, демонстрирующий двухуровневый, гибридный генератор импульсов.

Гоблинский генератор импульсов

Также возможны проекты на основе логики существ. Следующий пример компактен, надёжен и легко предсказуем.

╔═╗ ═══╝[#FF0]¢╚══ [#F00]p[#FF0]¢[#FF0]^[#FF0]¢[#00F]¢[#F0F][#00F]^[#00F]¢[#F00]p ══╗[#00F]¢╔═══ ╚═╝


Пойманный гоблин, помещённый между двумя нажимными плитами, приводит эту систему в действие своими попытками достигнуть края карты по путям ¢p. ^ связана со всеми ¢, а ^ связана со всеми ¢, as well asтак же как и с выходом. Таким образом, у гоблина появляется путь наружу с навязанного ему тайла каждые 100 тиков. Задержки в появлении пути заставляют его бегать по кругу каждые 250 тиков с сигналами включения/выключения, расходящимися примерно на 120 тиков. Частоту повторения можно удвоить сцеплением обеих ^ с выходом, однако это приведёт к сближению сигналов включения и выключения.

Создание часов

Although the law of big numbers means that, over large enough intervals, the preceding irregular repeaters can be used to run a clock, designs that generate perfect clock signals are also possible.

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

Level 0 Level -1 Level -2
██[#ff0]☼███ █[#00f]☼[#c0c0c0]☼[#c0c0c0]☼[#808000]═[#808000]═ ███[#c0c0c0]☼[#f00]☼█ ███[#0f0]☼██ ██████
█[#000]█[#0f0]÷[#008000]÷[#000]██ █[#008000]÷██[#0f0]÷█ █[#0f0]÷██[#008000]÷█ █[#000]█[#008000]÷[#0f0]÷[#000]██ ██████
█[#f00]^██[#0f0]^█ ██████ ██████ █[#ff0]^██[#00f]^█ ██████

÷÷ — помпа, качает со светлой стороны на тёмную. ^ - нажимная плита, которая высвобождает шестерню , когда вода глубиной 1-7 давит на неё. Цвета плит и шестерёнок лишь указывают на связи друг с другом. В игре они все будут выглядеть как ^ и . Постройка помпы после питающей шестерни или шестерни после управляющей нажимной плиты создаёт задержку в 1 шаг. Если строить строго помпы, затем шестерни, затем плиты, то вся система работает с периодом 400 шагов. Если в обратном порядке, то за 408. Для запуска генератора понадобится 2 ведра воды, вылитые на одну плиту. Это делается через разметку пруда.

The device as depicted uses 47-62 power during operation, and requires 62 power for startup. Drive train to power may, of course, lead to higher requirements. Once the two units of water are introduced to the system, water is conserved perfectly.

См. также: NStepCyclicRepeater] for generalizable n-step clock generator instructions.

SelfPoweredHaltableRepeater demonstrates clock generation with integrated water reactor.

Forum thread has more description and explanations.

DFMA movie shows the action of pump-based clock generation.

Задержка

Clock generation is closely related to the concept of delay: making a signal reach a target a certain amount of time after it is created. Any non-mechanical circuit introduces delay in a signal-- the simplest form of delay is an identity gate. The clock signal generator described above is unique in that it introduces a consistent delay. Any consistent delay can be used for clock generation. There are three known consistent intervals in Dwarf Fortress with which to fashion a clock signal generator: the reset delay associated with a pressure plate sending a close signal; the rate with which a creature falls; and the amount of time that a screw pump will continue to pump after losing power. Any (or all) of these delays can be involved in a clock signal generator.