...

четверг, 28 ноября 2013 г.

Minecraft 2 на C# (20 строк кода)


сегодня в 12:37


Уважаемые хабражители, прошу обратить внимание что это «ненормальное программирование» во избежании недопониманий.

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

Для тех же кому понравился сам Minecraft я тоже приготовил сюрприз, добавил огонь, который так просили некоторые хабражители.


В игре присутствуют следующие блоки:



  • Воздух

  • Земля

  • Огонь (с анимацией)

  • Вода

  • Любовь Лестница

  • Коренная порода


Возможности:



  • Вода растекается и тушит огонь

  • Огонь поджигает лестницы

  • Гравитация

  • Создание блоков

  • Разрушение блоков земли


Картинка для привлечения внимания:



Управление:



  • W S A D — движение персонажа

  • W S A D + Shift — удаление блоков в соответствующем направлении

  • 1 2 3 4 5 — создание блоков воздуха, земли, лестницы, воды и огня


Бинарник
Бинарник

Для компиляции использовал VisualStudio 2013.


Итак, вдохните глубже, отложите помидоры и яйца, они Вам еще пригодятся и взгляните на код:

Исходный код


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


Поддерживаемые команды:



  • Сложение двух чисел

  • Копирование блока данных

  • Сравнение двух блоков данных и условный переход

  • Позиционирование курсора в консоли

  • Вывод в консоль блока данных

  • Чтения нажатой клавиши


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


Для тех кто интересуется подробностями:



Всем спасибо за внимание!



Developers, stick with Russians – work in London




Переводы с

карты на карту


Переводы

через QR-Код


Новая функция

«Мой контроль»




Возьми Lumia 925 на тест-драйв сейчас.




Впечатляющие возможности

в стильном тонком корпусе из металла




Boomburum

исследует LTE


Эволюция средств связи

в путешествии по России




Проблемы коммуникации внутри бизнеса?



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

и выиграй Xbox



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


This entry passed through the Full-Text RSS service — if this is your content and you're reading it on someone else's site, please read the FAQ at fivefilters.org/content-only/faq.php#publishers.


Комментариев нет:

Отправить комментарий