Уроки Червоної Логіки Minecraft. Урок нульовий: Основи

content auto translated from {from}

Давайте-ка займемося справою. І не аби якою, а досить складною, цікавою і… ну… в міру веселою, напевно, відкриваючи гру з нового ракурсу. Ви ж не думали, що Minecraft – це тільки «махай сокирою – збирай деревину»? Хто сказав «а хіба не так»? \показує пальцем на людину** Ви? Мій дорогий, копайте далі, ми вам заважати не будемо. Всім іншим – добро пожалувати під кат.

Так, до речі, під катом навалом картинок, бережіть трафік...

[cut]

Час нульовий. Вступ.

Розмова сьогодні (та й не тільки сьогодні) піде про той таємничий Redstone (далі – «редстоун», можливо, звучить не так красиво, зате писати простіше), який багато з вас надибали в своїх численних печерних рейдах. Може, хтось навіть «садив» цей редстоун на підлогу, потім ходив навколо нього хвилини дві, так і не придумавши йому застосування. Хтось, ймовірно, навіть заліз в Інтернет і прочитав, що насправді це дуже круто, подивився відео з YouTube, проникся ідеєю і… потім починався розділ з якимись величезними схемами, незрозумілими словами, нулями, одиницями… Буррр...

Ось для тих, хто зрозумів, що це круто, але не зрозумів, як зробити, щоб усе це дійсно було круто, і призначений мій імпровізований навчальний посібник. Я розіб'ю його на уроки, і спочатку, як у будь-якому підручнику, вам доведеться потерпіти всілякі визначення та примітивні схеми. Однак потім (і я вам це обіцяю) ми займеться більш серйозними і складними механізмами. Можливо, комусь буде достатньо і цього уроку, і все стане чітко і ясно. Що ж, для цього і все пишеться. Буду цьому несказанно радий. =)

Отже, здається, нічого не забув. Поїхали!

Час перший. Картинки.

Почнемо з простого – з картинок. Так, так, з картинок. Я вам покажу ті елементи ланцюгів редстоуна (того, що ми в майбутньому побудуємо), які будуть нами використовуватися.

Найголовніший елемент – червоний пісок (Redstone Dust), він же дрова (Redstone Wire). В ланцюгах він виконує роль з'єднувальних проводів. Для прокладання проводу треба просто натиснути на підлогу правою кнопкою миші. Кладається тільки на верхівки блоків.

Червоний факел (Redstone Torch). Теж відіграє величезну роль в ланцюгах редстоуна. Використовується як живильний елемент, як індикатор, а також в схемах інверторів (про це пізніше).

Факел, як джерело сигналу, завжди подає в ланцюг «1». Наступні елементи є перемикачами і подають одиницю, коли включені / натиснуті.

Вимикач / Переключатель (Lever) – в увімкненому стані подає в підключений до нього провід одиницю. В вимкненому, відповідно – «нуль».

Кнопка (Button) – підключається тільки до стіни. Після натискання подає сигнал тривалістю 0.9 секунди, потім повертається в ненатиснуте стан.

Кам'яні та дерев'яні підлоги кнопок (Stone / Wood Pressure Plates) – на відміну від звичайної кнопки, підлогові (не повірите!) кріпляться тільки на підлогу і спрацьовують, коли на них стають. Після того, як ви її покинете, сигнал перестане подаватися. Різниця між кнопками істотна, але на перших порах вона нам не знадобиться, тому не будемо забивати цим голову.

Власне, для цього уроку нам буде достатньо цих елементів. Приступимо до теорії, найменш приємної частини сьогоднішнього уроку…

Час другий. Дискретна математика.

Це у кого так сильно закрутило щелепу від цього словосполучення, що аж тут чутно скрегіт зубів? А-а-а, я гадаю, ви пригадали величезні формули і докази з цієї науки. Ні-ні, тут цього немає, тут все буде простіше. В рази простіше.

Для розуміння основ роботи ланцюгів редстоуна потрібно хоча б мати уявлення, що в них (ланцюгах) відбувається. Отже, кожен провід і елемент ланцюга можуть мати два стани – 0 або 1 («вимкнено» або «увімкнено» відповідно, хоча частіше використовуються визначення «негативний» і «позитивний»). В залежності від стану провідні елементи або будуть яскраво горіти, або ні.

По лівому проводу зараз іде сигнал, а правий обділений таким увагою.

На правому факелі зараз є сигнал, а на лівому – немає.

В ланцюгах є вузли, які виконують певну функцію. Під «вузлами» розуміються вищезгадані елементи, які якось впливають на сигнал: факели, інвертори, генератори синхросигналів та інше. Вони об'єднуються в великі вузли, які виконують більш складні функції. Що логічно.

До чого ж можна підключити провід, якщо у світі Minecraft немає жодного електричного пристрою? Відповідь проста: до дверей, рідин (дуже хитроумним способом, але можна), залізничним шляхам, диспенсерам і нотним блокам.

Все. Мало й, сподіваюся, зрозуміло. Давайте вже творити…

Час третій. А як воно все працює?

Елементарно. Беремо в руки червоний пісок і клацаємо пару раз на підлозі. Маємо отримати щось на зразок цього:

Той самий провід, по якому потім побіжить сигнал. Його зовсім не обов'язково класти ідеально рівними лініями, цілком підійде і такий варіант:

Все, можна стерти (точніше, прибрати дроти, запам'ятайте це вираз на майбутнє). Тепер поставимо джерело сигналу. Беремо в руки факел і вставляємо його в підлогу. Отримуємо ось це:

Зверху – звичайний факел, знизу – факел, сплетений з редстоуна. Різниця очевидна.

Тепер підключимо факел до дверей. Крафтим двері, ставимо і підтягуємо провід.

До того, як ми підключимо провід до дверей, вона буде закрита:

Після з'єднання з факелом вона відкриється:

Круто, так? Ні? А, ну так, на що ж нам потрібна постійно відкрита двері… Добре. Убираємо факел, ставимо на його місце рубильник, ось так:

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

З важелем дуже легко помітити, що двері відкриті, коли провід горить яскраво-червоним («1», сигнал є), і закриті, коли провід чорний («0», сигналу немає).

Наступний елемент нашого сьогоднішнього дня – підлога кнопка. Встановлюємо її замість важеля:

А тепер стаємо на неї:

Вуаля! Двері відкрилися. Відкривати можна не тільки своєю вагою, але й іншими предметами, наприклад будь-яким блоком, викинутим з рук:

Для сумнівающихся:

Блок натиснув кнопку, все чесно.

Поставимо тепер настінну кнопку:

Підходимо і натискаємо. Відрахуємо 0.9 секунд і побачимо, як двері закриються.

А, власне, чого це ми так витрачаємо енергію? Давайте підключимо дві двері і обидві будемо відкривати натисканням підлогової кнопки:

І все б було прекрасно…

Час четвертий. Чисто було на папері…

…якщо б сигнал по мірі розповсюдження по проводах не затухав. Як? Так от:

Примітка. В версіях до Beta 1.3, проводи з сигналом завжди були червоні. Тепер же колір проводу наближається до чорного по мірі віддалення від джерела.

Запам'ятайте просте Правило П'ятнадцяти: Сигнал поширюється тільки на 15 блоків від джерела. Легко перевірити:

Встановлена на 16-му блоці двері закрита, значить сигнал на неї не надходить (нагадаю, що двері відкриваються при сигналі «1»).

Як же тоді бути? Обмежуватися схемами на 15 блоків? Пф… Це не наш метод. Навчимося продовжувати сигнал (по-розумному це звучатиме якось у стилі «компенсувати затухання сигналу»).

Примітка. У даному уроці розглядається старий спосіб компенсації затухання. Після виходу Beta 1.3 було додано ще один варіант, але ми розглянемо його пізніше.

Стираємо все і прокладаємо провід ось так:

Як видно, на 16-му блоці сигнал «почорнішав». Тепер уберемо дроти з парочки блоків:

І на кінці поставимо ось такий ось агрегат:

В простонародді це іменується «інвертором». Він інвертує сигнал, тобто з 0 робить 1, а з 1 робить 0.

Продовжимо ланцюг, приєднавши до виходу цього інвертора ще один:

Пронумерую інвертори для зручності:

Принцип дії простий: наш сигнал, яким би він не був, приходить на перший інвертор, змінюється на протилежний (0 → 1, 1 → 0), потім йде до наступного інвертора, де змінюється ще раз, повертаючи своє початкове значення. При цьому в інверторах використовуються факели, які, я нагадаю, є джерелами сигналу. Таким чином, сигнал, потрапивши на другий інвертор і змінивши свій знак (пам'ятаєте, я на самому початку говорив, що сигнали частіше називаються «позитивними» і «негативними»?) генеруються на факелі, починаючи відлік нещасливих п'ятнадцяти блоків знову.

Перевіримо дію нашої схеми. Для цього встанемо на кнопку, подавши таким чином позитивний сигнал у ланцюг:

Двері відкрилися. Тепер підійдемо з кнопки:

Легко помітити, що ділянка між інверторами має протилежний двом іншим кольору. На цій ділянці сигнал має інший знак.

Час п'ятий. Заключний.

Ну от, власне, і все на сьогодні. Це найосновніші поняття (…wait for it… ©) Червоній Логіці Minecraft. Завдяки їм ви вже зараз можете легко зробити щось. Ну, скажімо, двері ззовні, які будуть відкриватися рубильником з вашого підземного бункера. Примітивно, але для початку цілком підійде. Нехай це буде вашим домашнім завданням, як виконаєте – постіть скріншоти або відеоролики. Буду ставити оцінки. ;)

За сим розреште відкланятися. Щиро ваш, fr4ntic.

P.S. Приймаю конструктивну критику по способу подачі матеріалу.

P.P.S. Приймаю запити на наступні уроки.

P.P.P.S. Якщо раптом захотите скопіювати це кудись (ну мало що),

просто вкажіть автора і посилання на цю статтю. Вам не складно, мені приємно.