Тетрис в 140 байтах


Можно ли написать программу длиной не более одного твита? На веб-сайте 140byt.es говорится, что это так, и есть реализация Tetris, чтобы доказать это.

Вы можете подумать, что у программистов достаточно, чтобы развлекаться, не придумывая глупых задач. 140byt.es — это веб-сайт, посвященный коротким вещам, которые вы можете сказать на JavaScript. Напишите функцию, которая делает что-то впечатляющее, используя не более 140 символов, и вы можете отобразить ее для всеобщего обозрения. Другими словами, вы можете написать впечатляющую функцию JavaScript, которую можно будет отправить в SMS или твите.

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

Вы можете подумать, что 140 символов недостаточно для того, чтобы какой-либо твит JavaScript заслуживал внимания, но вы ошибаетесь. Как насчет программы просмотра Мандельброта с масштабированием и панорамированием или чего-нибудь полезного, например, программы проверки номера кредитной карты.

В частности, мое внимание привлекла реализация тетриса — хорошо, в нем есть только два типа блоков — отсюда и название «Бинарный тетрис» — и здесь нет поворота, но он работает. Блоки падают с экрана, и вы ставите их на место. Вы можете попробовать это, поиграв в демоверсию.

Полная функция

function (a, b, c, d, e) {return d + = c,

e = a | b << d, d <0 | a & b << d && (a = e = parseInt ((a | b << c) .toString (d = 32) .replace (/ v /, ""), d), b = новая дата% 2? 1: 3), [a, b, d, e]} Конечно, читателю интересно понять, как это работает. Для этого вам необходимо знать, что функция не включает процедуру отображения или взаимодействие с пользователем. Вам также необходимо знать некоторые хитрости торговли. В частности, если вам интересно, что там делает объект Date, это дешевый способ получить случайные числа. Если вы в тупике, то подсказка заключается в том, что плата и падающие блоки представлены как битовые шаблоны, а вся логика реализована как битовая манипуляция. Хорошая новость в том, что эта крошечная программа объясняется очень подробно. Если бы только все программы были задокументированы до такой степени! Чтобы присоединиться к 140byt.es, просто зайдите на их сайт, форкните стандартный код и приступайте к работе. Там вы также найдете несколько интересных советов о том, как сэкономить место при написании JavaScript.


Добавить комментарий