- PVSM.RU - https://www.pvsm.ru -
Уважаемые читатели, прошу обратить внимание что это «ненормальное программирование» во избежании недопониманий.
Для тех кто видел мою предыдущую версию Minecraft [1] сразу скажу, что это не развитие предыдущего безумия, это совершено новое и еще более безумное безумие, детали которого я раскрою под катом. В этот раз я старался вести себя поспокойнее и исправно пил лекарства чтобы санитары незападозрили неладное.
Для тех же кому понравился сам Minecraft я тоже приготовил сюрприз, добавил огонь, который так просили некоторые читатели.
В игре присутствуют следующие блоки:
Возможности:
Картинка для привлечения внимания:
Управление:
Итак, вдохните глубже, отложите помидоры и яйца, они Вам еще пригодятся и взгляните на код:
Исходный код [3]
Я думаю многие догадались что за способ уменьшения кода тут используется. Тут реализована простейшая виртуальная машина (виртуальный процессор) с минимальным набором команд, а код самой игры написан на байткоде этой машины и лежит в данных!
Поддерживаемые команды:
Чтобы писать код, пришлось написать свой компилятор(транслятор) и уже на нем писать саму игру.
Всем спасибо за внимание!
Автор: mynameco
Источник [7]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/game-development/49472
Ссылки в тексте:
[1] Minecraft: http://habrahabr.ru/post/202840/
[2] Бинарник: https://dl.dropboxusercontent.com/u/37191968/Minecraft20.zip
[3] Исходный код: http://code.google.com/p/minecraft-19lines/source/browse/trunk/Minecraft20/Program.cs
[4] Развернутая виртуальная машина: http://code.google.com/p/tiny-virtual-machine/source/browse/trunk/tiny-virtual-machine/TestVm1.cs
[5] Код игры: http://code.google.com/p/tiny-virtual-machine/source/browse/trunk/tiny-compiler/GameCode.cs
[6] Проект компилятора: http://code.google.com/p/tiny-virtual-machine/source/browse/trunk/#trunk%2Ftiny-compiler%253Fstate%253Dclosed
[7] Источник: http://habrahabr.ru/post/203982/
Нажмите здесь для печати.