Разработка и реализация вычислительного устройства в программе 'Minecraft'

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    1,65 Мб
  • Опубликовано:
    2013-01-25
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Разработка и реализация вычислительного устройства в программе 'Minecraft'

Оглавление

Аннотация

Введение

. Описание разработанного устройства

.1 Основы физики Minecraft и используемые элементы и схемы

.2 Основные схемы логических элементов

.3 Структура устройства

Заключение

Список литературы

Приложение

Аннотация

Наименование работы: разработка вычислительного устройства и реализация его в программе "Minecraft".

Основные задачи устройства: вычисление суммы или разности двух заданных чисел (от 1 до 9), а также вывод их на дисплей.

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

Схемное решение: система будет состоять из микросхем суммирования, а также из простейших логических элементов (И, ИЛИ, НЕ).

Схема была собрана и протестирована в программе "Minecraft".

Введение

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

Игра "Minecraft" жанра "песочница", разработанная шведским программистом Маркусом Перссоном (англ. Markus Persson), известным также как "Notch", неожиданно получила большую популярность еще на стадии бета-тестирования. В данное время вышла полная версия и множество патчей, увеличивающих функционал. В игре, помимо крафта и выживания, существует материал "красный камень", позволяющий создавать разнообразные логические устройства: от простых ловушек до огромных x86 процессоров, а с применением дополнений возможно создать практически любой механизм.

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

1. Описание разработанного устройства

 

.1 Основы физики Minecraft и используемые элементы и схемы


Всего в майнкрафт используются 3 элемента, из комбинаций которых получается любое логическое устройство:

·        Красный камень или красная пыль (Red Stone). Используется в качестве провода и для крафта (создания) двух других элементов. При расположении на поверхности (клик правой кнопкой мыши) размещает один блок пыли, при установке на смежных блоках кучки красной пыли соединяются в провод. Имеет два состояния: включена (1) и выключена (0), причем в момент подачи сигнала начинает тускло светиться. Сигнал затухает через 16 блоков, для передачи сигнала на расстояние используют повторители. (о них ниже)

Рис. 1. Возможные способы размещения красного камня на поверхности, а также соединение блоков красного камня.

·        Факел красного камня. Создается из палки и красного камня. Источник сигнала. Если на блок, на котором установлен факел, подается сигнал, факел гаснет. На этом основан инвертор сигнала.

Рис. 2. Факел красного камня и возможные варианты его установки.

Рис 3. Сигнал, поданный на блок, гасит прикрепленные к нему факелы.

Повторитель. Красные повторители выполняют три функции:

Ретранслятор. Он может "усиливать" сигнал до изначального уровня, передавая его дальше по цепи на 15 блоков. Таким образом, повторители могут использоваться для передачи сигнала на расстояния больше 15 блоков.

Диод. Повторитель замечателен тем, что имеет строго определенные вход и выход, поэтому его можно использовать в качестве диода - элемента, пропускающего сигнал только в одну сторону.

Элемент задержки. Повторитель передаёт сигнал со входа на выход с определённой задержкой от 0.1 до 0.4 секунды, что упрощает создание таймеров. Для смены задержки щёлкните ПКМ по повторителю. Задержка будет меняться таким образом: 0.1 - 0.2 - 0.3 - 0.4 - 0.1.

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

Помимо этих элементов, применяются устройства ввода-вывода сигнала:

Для управления схемами без добавления/убирания блоков используются "устройства ввода":

Рычаг. Ставится на блок сверху или сбоку, а с патча 1.3.1 может быть закреплён и на нижней стороне. Имеет два положения - включен и выключен, - между которыми переключается щелчком игрока. После установки выключен.

Кнопка. Устанавливается только сбоку блока. При щелчке включается на 1 секунду.

Нажимная пластина. Только напольная. Включается при нажатии. Деревянная включается, если на неё наступить или бросить предмет, каменная - только если наступить.

Нажимные рельсы. Рельсы с нажимной пластиной. Работает как нажимная пластина, но реагирует на проезжающие вагонетки (при большой скорости вагонетки или лагах может и не среагировать).

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

Красный камень позволяет управлять различными блоками в игровом мире - это "устройства вывода". По реакции их можно разделить на 2 группы:

Двери, люк, ворота, поршни, электрические рельсы и лампа при подведении активного провода меняют своё состояния и сохраняют его, пока сигнал не будет убран.

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

1.2 Основные схемы логических элементов


Логические элементы (в майнкрафте они почему-то называются гейты или вентили) являются основой всех механизмов.

Элемент NOT (инвертор) возвращает сигнал, противоположный полученному. Это реализация логического НЕ.

Рис. 4. Инвертор.

Таблица истинности:

a

¬a

0

1

1

0


Рис. 5. Повторитель

Два вентиля NOT, установленные на линию подряд, называются повторителем. Повторитель возвращает такой же сигнал, какой и принял и пропускает сигнал только в одну сторону. До появления красных повторителей, такие повторители были единственным способом передать сигнал более чем на 15 блоков. Элемент OR возвращает 1, если хотя бы на одном из входов 1. Обычно необходимости в отдельном устройстве нет, достаточно просто объединить провода. Однако провод пропускает сигнал в обе стороны - если это мешает, то можно использовать элемент.

Таблица истинности:

a

b

c

a ∨ b ∨ c

0

0

0

0

0

0

1

0

1

0

1

0

1

1

1

1

0

0

1

1

0

1

1

1

1

0

1

1

1

1

1


Рис. 6. Элемент ИЛИ

Элемент AND (логическое И) возвращает 1, если на всех входах 1.

Формула: a ∧ b = ¬ (¬a ∨ ¬b)

Таблица истинности:

десятичный код программа minecraft

a

b

a ∧ b

0

0

0

1

0

0

0

1

0

1

1

1


Рис. 7. Элемент И

Простой оператор сложения

Складывает два сигнала на входе и выдает результат (на выходе старший разряд внизу (схема)). В основе лежит XOR/XNOR Gate (в основе которого лежит AND Gate).

Работает это так:

Младший разряд на выходе горит, если на входе имеем два разных сигнала. Старший разряд на выходе горит, если на входе оба сигнала 1 .

На схеме присутствуют два слоя 0 и 1 и находятся они на разных (соседних) плоскостях.

Рис. 8. Оператор сложения.

 

.3 Структура устройства


Калькулятор состоит из:

)        Устройства ввода. Оно состоит из девятнадцати рычагов (9 рычагов первое число, 9 - второе и один для выбора операции сложения или вычитания)

)        Шифратора

)        Сумматора.

)        Оператора вычитания.

)        Мультиплексора

)        Дешифратора

)        Дисплея.

Картинки каждого элемента приведены в приложении.

Рис. 9. Принципиальная схема устройства

Как оно все работает.

На устройстве ввода выбирается первое и второе число. Оба числа передаются для отображения на дисплей и параллельно поступают на шифратор. Преобразуются в двоичный код и поступают одновременно на устройства сложения и вычитания.

)        Устройство сложения. Состоит из восьми простых операторов сложения.

)        Устройство вычитания. Расположено выше сумматора. Сначала второе число преобразуется в дополнительный код, то есть инвертируется и к нему прибавляется единица. Потом складываем полученный результат с первым числом. Крайний разряд - знаковый, если он равен единице, то результат отрицательный.

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

Дешифратор состоит из восемнадцати пятиконтактных И-элементов. На выходе дешифратора - 10 контактов (десятка и первые 9 цифр). Число 10 в ответе имеет отдельный символ на дисплее. Также к этим проводам подключен "детектор нуля", который подает сигнал если на всех остальных 9 выходах сигнал отсутствует. Он выдает "0" на дисплее. Все выходы подключены в соответствии с их значением в десятичном коде.

Заключение

Был разработан вычислительный комплекс (он огромный!), выполняющий 2 операции: сложение и умножение чисел от 1 до 9. К нему был подключен дисплей. Работает устойчиво, отклик составляет примерно 6 секунд. Это обусловлено колоссальными размерами устройства и необходимостью использовать повторители, каждый из которых дает задержку в 0.1 секунды. Увеличить быстродействие можно за счет оптимизации цепей (меньше повторителей, короче цепи) и использования различных модификаций игры (например RedPower позволяет использовать провода в изоляции, дальность сигнала в которых в 16 раз больше, чем редстоун-цепей, а также связки проводов). Схему можно упростить за счет использования процессоров из модов ComputerCraft и RedPower. Они программируются. На их базе возможно создание программируемых микроконтроллеров.

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

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

Список литературы

.        Угрюмов Е. П. Цифровая схемотехника: учеб, пособие для вузов / Е. П. Угрюмов. - 2-е изд. - СПб.: ВНУ-Санкт-Петербург, 2010. - 816 с.

2.      Minecraft Wiki #"600189.files/image010.gif">

Рис. 10. Панель ввода. "Активное" число подсвечивается зеленым индикатором. Огромные цифры помогают быстро определять нужный рычаг. Защиты "от дурака" нет, поэтому можно нажать сразу несколько рычагов с непредсказуемым результатом. Сверху задается первое число, снизу - второе. Слева внизу рычаг предназначен для выбора операции (+/-), слева вверху две кнопки подключенные к командным блокам (ввод консольной команды), они предназначены для быстрой смены времени суток.

Рис. 11. Два шифратора, один расположен над другим. Видно, как сигнал передается одновременно вверх и вниз.

Рис 12. Сумматор. Простое устройство, состоящее из семи суммирующих устройств. На выходе имеет 5 контактов. Расположен сразу за шифратором, под оператором вычитания.

Рис. 13. Оператор вычитания. В общем, состоит из пятнадцати простых суммирующих устройств, восьми инверторов и одного мультиплексора.

Рис. 14. Мультиплексор на входе дешифратора. Управляющий сигнал поступает от рычага выбора операции (+/-).

Рис. 15. Дешифратор. Чтобы избежать проблемы дальности прорисовки (описана в заключении), он сделан компактным, в 3 уровня. Содержит 18 И-элементов. На выходе 10 контактов.

Рис. 16. "Детектор нуля". Подключен параллельно к выходам дешифратора, при отсутствии сигнала он подает сигнал на вывод нуля. По сути - большой И-элемент. К нему не подключен контакт вывода единицы следующего разряда.

Рис. 17. Дисплей. Знаки "-" и "=" горят постоянно. К вертикальной черте знака "+/-" подключен рычаг выбора операции.

Рис. 18. Дисплей. Вид с обратной стороны. Видны провода передачи первого и второго чисел. Пирамида из алмазных блоков нужна для воодушевления.

Рис 19. Общий вид.

Похожие работы на - Разработка и реализация вычислительного устройства в программе 'Minecraft'

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!