Minecraft 12218
Аватар Evernews Evernews

В Minecraft собрали полноценный Tetris на редстоуне

2
0
Поделиться
Телеграфировать

За экраном скрывается сложная схема блоков, которую можно изучить самому.

В Minecraft собрали полноценный Tetris на редстоуне

Мэтт Палаццоло — большой любитель экспериментов с вычислительными возможностями Minecraft. В прошлом он строил здесь компьютеры и инженерные калькуляторы, новый проект Мэтта это полноценная версия Tetris на редстоуне.

В игре Мэтта реализовано поле размером 20 на 10 блоков, есть основные фигуры с возможностью вращения, присутствует система очков. За годы существования Minecraft тут пытались делать редстоун-версии Tetris, но они либо имели ограниченный функционал, либо работали очень медленно.

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

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

Большая часть ролика Мэтта посвящена принципам работы редстоун-версии Tetris. Вот о чем рассказывает Палаццоло.

  • Есть три «внутренних» буфера: в одном хранятся неподвижные блоки, в другом — подвижные, третий используется для вывода результирующей картинки на основной «экран».
  • Тип появляющейся фигуры определяет генератор случайных чисел, работающий на базе трех систем из загрузочной воронки, выбрасывателя, меча и красной пыли с компаратором. На выходе генератор выдает трехбитное число, определяющее, какая фигура будет следующей.
  • Данные об активной фигуре хранятся в блоке памяти (огромная область фиолетовых блоков) с помощью мини-экрана, созданного из ламп. Когда фигура поворачивается, одни лампы просто отключаются, а другие — включаются.
  • Движение фигуры управляет система из компараторов. Например, чтобы опустить фигуру на уровень вниз, нужно отключить все компараторы, препятствующие прохождению сигнала на уровень ниже.
  • В каждый уровень схемы встроена система обнаружения столкновений, работающая на повторителях и умеющая работать в трех направлениях — вниз, влево и вправо. Система срабатывает, как только фигура касается фрагмента блока, хранящегося в буфере для неподвижных объектов.
  • Самая сложная часть это очистка линии и сдвиг оставшихся блоков вниз. Сперва система четыре раза проверяла состояние линии, но затем Мэтт придумал, как ускорить процесс. Он стал хранить количество заполненных линий и пропускать весь обсчет, если оно нулевое.

А систему вывода очков, признается Мэтт, он не стал делать самостоятельно. Палаццоло воспользовался готовым блоком, созданным Maizuma Games — он отлично спроектирован и делает именно то, что нужно.

Свою версию Tetris Мэтт опубликовал на Planet Minecraft.

Теги: Minecraft, Игры
Аватар Evernews
Evernews
8067 подписчиков