Рубрика «30 строк»

В прошлом году были популярны темы, как написать программу за 30 строк кода. Все примеры были сделаны на JavaScript. Для запуска таких программ требуется не только веб страница, но и браузер, разные библиотеки, ядро ОС наконец. На самом деле работают не 30 строк кода, а десятки, сотни мегабайты программного кода, находящиеся в памяти компьютера.
А можно ли написать не полностью бесполезную программу за 30 строк ассемблера, без лишних библиотек и мегабайт ОС?
В этой статье я опишу, как можно сделать крестики-нолики за 30 строк ассемблера.
Читать полностью »

Хотя неделя 30-строчников закончилась, рискну привести ещё один пример сверхлаконичного кода JavaScript. Встречайте четырёхпанельный редактор HTML/CSS/JS, с превью в реальном времени, код которого умещается в 230 символов:

<x id=e><script>for(i=4;i--;)e.innerHTML+=(i?'<textarea id=t'+i:'<iframe')+' style=width:49%;height:48% oninput='e.lastChild.src="data:text/html;base64,"+btoa(t3[v="value"]+"<script>"+t1[v]+"</script><style>"+t2[v])'>'</script>

Посмотреть демо можно по этой ссылке. А можно просто вставить вот этот текст с кодом в адресную строку браузера:

data:text/html,%20<x%20id=e><script>for(i=4;i--;)e.innerHTML+=(i?'<textarea%20id=t'+i:'<iframe')+'%20style=width:49%;height:48%%20oninput='e.lastChild.src="data:text/html;base64,"+btoa(t3[v="value"]+"<script>"+t1[v]+"</script><style>"+t2[v])'>'</script>

Читать полностью »

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

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

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

  • Воздух
  • Земля
  • Огонь (с анимацией)
  • Вода
  • Любовь Лестница
  • Коренная порода

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

  • Вода растекается и тушит огонь
  • Огонь поджигает лестницы
  • Гравитация
  • Создание блоков
  • Разрушение блоков земли

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

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

Читать полностью »

image
Ну сразу стоит извиниться за запоздалую реакцию, ведь «неделя 30 строк» прошла, а я выкладываю этот пост только сейчас. Все из-за тяжелой рабочей недели и только на выходных удалось выделить немного времени.
Сразу поблагодарю пользователя deadkrolik за статью Алгоритм Эллера для генерации лабиринтов и оговорюсь о том что я плут и мошенник и 30 строками кода тут и не пахнет))) Кто не любит ждать объяснений, прошу сразу на Fiddle.
Читать полностью »

Увидев на хабрахабре крутые реализации программ в 30, 24, 19 и даже 1 строчку, тоже решил поморать чистые страницы хабра чем-нибудь этаким. Тем более, что давно хочется инвайт выпала возможность поработать в новом для себя качестве.

Дело в том, что по работе мне пришлось учиться писать расширения для хрома. Так как задача сама по себе была небольшая, то первой мыслью естесственно было написать лапшекод в лоб. Но помучившись с получением и сохранением данных в localStorage, решил, что так дело не пойдет, и, уж как минимум, надо написать какую-нить обертку над localStorage.

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

Задачи, которые ставились перед контейнером:

  • Удобная работа с localStorage. Получаем и сохраняем любые данные, в том числе объекты и массивы.
  • Какая-нибудь валидация параметров (хотя бы в случае, если такого параметра в localStorage просто нет).
  • Возможность фасовать параметры по группам — плохо когда все свалено в одну кучу.
  • Подключение функциональности с разносом по отдельным компонентам, при этом вероятно будет необходима преинициализация некоторых параметров.

В принципе все удалось реализовать в небольшом контейнере, и для небольших приложений он меня устраивает на 100%.
Читать полностью »

В продолжении популярного цикла статей о том, что 30 строк джаваскрипта достаточно каждому, предлагаю Вашему вниманию перевод статьи Мэтью P01 Генри о его последней работе:

Миникрафт в 252 символа


Читать полностью »

Вероятно, многим уже надоели заголовки типа «ХХХ в 30 строк», но я рискну написать ещё один пост. Дабы хоть как-то сгладить злость отдельных хабралюдей, я расскажу что в этом скрипте делает каждая строка.
image
Читать полностью »

В продолжении общей, предновогодней истерии, решил написать свою игрушку. За основу взята игра Minecraft, а язык программирования C#.

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

  • Воздух
  • Вода
  • Земля
  • Лестница

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

  • Вода растекается по доступной поверхности
  • На персонажа действует гравитация
  • Персонаж может создавать все доступные блоки
  • Персонаж может разрушать землю и лестницы

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

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

Читать полностью »

Рисовалка на Objective C под iOS (30 строк)Здравствуйте, дорогие читатели !

Вот и я решил сделать что-нибудь из тридцати строк на родном Objective-C. Попробуем в прямом эфире написать рисовалку под iPhone и iPad, уложившись в 30 строк кода.

Работать мы будем полностью в файле main.m для удобства подсчета строк. Создаем новый проект — Single View Application — и удаляем файлы классов ViewController'a и AppDelegat'a, так как их мы перенесем в main.m. Соответственно, в Storyboard'e отвязываем ViewController от автоматически созданного класса. Чтобы не париться из-за статус бара — убираем его в настройках, а так же фиксируем ориентацию экрана, чтобы не волноваться насчет поворотов девайса.
Читать полностью »

Жизнь текла своим чередом и я занимался своими любимыми делами: ел, спал и читал хабр. И вдруг, как грибы после дождя, начали появляться статьи, в заголовках которых присутствовали две ключевые фразы: «JavaScript» и «30 строк кода». Только вот незадача: в JavaScript я новичок и написать что-нибудь серьезное, как мои предшественники, не смогу, а поучаствовать в этом марафоне хочется. Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js