Исходный код Tetris для Электроники-60 раскрывает загадку расчёта фигур
В оригинальном коде игры Tetris, написанном Алексеем Пажитновым для «Электроники-60», обнаружена процедура, которая при каждом запуске заново вычисляла все 7 фигур и их 19 положений, хотя эти данные можно было хранить в программе.
Код, написанный Алексеем Пажитновым для терминала «Электроника-60», демонстрирует необычное решение. Вместо того чтобы заранее сохранить в памяти данные о формах и вращениях тетрамино, программа задействует около 958 байт кода для повторного вычисления 342 байт данных при каждом старте. Это касается всех семи основных фигур и их девятнадцати возможных ориентаций.
Недавно восстановленный и скомпилированный код, совпадающий байт в байт с оригиналом, позволяет проанализировать все 590 строк. Этот факт вызвал удивление среди энтузиастов и программистов, поскольку прямое хранение этих данных позволило бы значительно оптимизировать процесс запуска игры, исключив избыточные вычисления.
Такое архитектурное решение, возможно, было обусловлено ограничениями или особенностями тогдашних вычислительных систем, либо же представляло собой определённый подход к структурированию кода. Открытие даёт уникальное представление о методах программирования того времени и творческом процессе создания одной из самых известных видеоигр в истории.
Часто задаваемые вопросы
Кто написал игру Tetris?
Игру Tetris написал советский программист Алексей Пажитнов в 1984 году.
Для какой платформы был написан первый Tetris?
Первая версия Tetris была написана для терминала «Электроника-60» в Вычислительном центре Академии наук СССР.
В чём особенность обнаруженного кода Tetris?
Особенность в том, что игра каждый раз пересчитывает формы и ориентации тетрамино, вместо того чтобы хранить их как статические данные, что требует избыточных вычислений.
Сколько строк кода в оригинальной версии Tetris?
Восстановленный код оригинальной версии Tetris состоит из 590 строк.
Источник: Habr · Rusability ИИ


Комментарии (0)
Без регистрации. Комментарии проверяются автоматически перед публикацией.
Пока нет комментариев. Будьте первым!