В прошлом году были популярны темы, как написать программу за 30 строк кода. Все примеры были сделаны на JavaScript. Для запуска таких программ требуется не только веб страница, но и браузер, разные библиотеки, ядро ОС наконец. На самом деле работают не 30 строк кода, а десятки, сотни мегабайты программного кода, находящиеся в памяти компьютера.
А можно ли написать не полностью бесполезную программу за 30 строк ассемблера, без лишних библиотек и мегабайт ОС?
В этой статье я опишу, как можно сделать крестики-нолики за 30 строк ассемблера.
Читать полностью »
Метка «30 строк»
Игра в 30 команд Ассемблера
2014-01-11 в 17:59, admin, рубрики: 30 строк, крестики-нолики, ненормальное программирование, метки: 30 строк, ассемблер, крестики-ноликиРедактор HTML+CSS+JS в стиле JSfiddle, код которого состоит из 230 символов
2013-12-06 в 15:50, admin, рубрики: 30 строк, javascript, ненормальное программирование, однострочники, редактор кода, метки: 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 2 на C# (20 строк кода)
2013-11-28 в 8:37, admin, рубрики: 30 строк, game development, ненормальное программирование, метки: 30 строк, c++, game development, ненормальное программированиеУважаемые читатели, прошу обратить внимание что это «ненормальное программирование» во избежании недопониманий.
Для тех кто видел мою предыдущую версию Minecraft сразу скажу, что это не развитие предыдущего безумия, это совершено новое и еще более безумное безумие, детали которого я раскрою под катом. В этот раз я старался вести себя поспокойнее и исправно пил лекарства чтобы санитары незападозрили неладное.
Для тех же кому понравился сам Minecraft я тоже приготовил сюрприз, добавил огонь, который так просили некоторые читатели.
В игре присутствуют следующие блоки:
- Воздух
- Земля
- Огонь (с анимацией)
- Вода
ЛюбовьЛестница- Коренная порода
Возможности:
- Вода растекается и тушит огонь
- Огонь поджигает лестницы
- Гравитация
- Создание блоков
- Разрушение блоков земли
Картинка для привлечения внимания:
Крошечный контейнер для мини-приложений в 30 строк на чистом JS
2013-11-21 в 7:54, admin, рубрики: 30 строк, javascript, localStorage, ненормальное программирование, метки: 30 строк, javascript, localStorage Увидев на хабрахабре крутые реализации программ в 30, 24, 19 и даже 1 строчку, тоже решил поморать чистые страницы хабра чем-нибудь этаким. Тем более, что давно хочется инвайт выпала возможность поработать в новом для себя качестве.
Дело в том, что по работе мне пришлось учиться писать расширения для хрома. Так как задача сама по себе была небольшая, то первой мыслью естесственно было написать лапшекод в лоб. Но помучившись с получением и сохранением данных в localStorage, решил, что так дело не пойдет, и, уж как минимум, надо написать какую-нить обертку над localStorage.
Вообще в самом начале я честно погуглил на предмет наличия разных фреймворков для расширений. Нашел, например, Kango. Но мне не нужна была кроссбраузерность (расширение писалось только для Chrome), и не было желания заморачиваться изучением сторонних библиотек ради небольшого приложения, поэтому было решено написать свой велосипед.
Задачи, которые ставились перед контейнером:
- Удобная работа с localStorage. Получаем и сохраняем любые данные, в том числе объекты и массивы.
- Какая-нибудь валидация параметров (хотя бы в случае, если такого параметра в localStorage просто нет).
- Возможность фасовать параметры по группам — плохо когда все свалено в одну кучу.
- Подключение функциональности с разносом по отдельным компонентам, при этом вероятно будет необходима преинициализация некоторых параметров.
В принципе все удалось реализовать в небольшом контейнере, и для небольших приложений он меня устраивает на 100%.
Читать полностью »
Блэкджек на LiveScript
2013-11-20 в 12:12, admin, рубрики: 30 строк, 30строк, blackjack, javascript, livescript, Веб-разработка, ненормальное программирование, строк, метки: 30 строк, 30строк, blackjack, javascript, livescript, строк Вероятно, многим уже надоели заголовки типа «ХХХ в 30 строк», но я рискну написать ещё один пост. Дабы хоть как-то сгладить злость отдельных хабралюдей, я расскажу что в этом скрипте делает каждая строка.
Читать полностью »
Minecraft на C# (19 строк кода)
2013-11-20 в 3:47, admin, рубрики: 30 строк, game development, ненормальное программирование, метки: 30 строк, c++, game development, ненормальное программированиеВ продолжении общей, предновогодней истерии, решил написать свою игрушку. За основу взята игра Minecraft, а язык программирования C#.
В игре присутствуют следующие блоки:
- Воздух
- Вода
- Земля
- Лестница
Возможности:
- Вода растекается по доступной поверхности
- На персонажа действует гравитация
- Персонаж может создавать все доступные блоки
- Персонаж может разрушать землю и лестницы
Картинка для привлечения внимания:
Рисовалка на Objective-C под iOS (30 строк)
2013-11-20 в 0:59, admin, рубрики: 30 строк, iOS, objective-c, все читают теги, ненормальное программирование, разработка под iOS, метки: 30 строк, iOS, objective-c, все читают тегиЗдравствуйте, дорогие читатели !
Вот и я решил сделать что-нибудь из тридцати строк на родном Objective-C. Попробуем в прямом эфире написать рисовалку под iPhone и iPad, уложившись в 30 строк кода.
Работать мы будем полностью в файле main.m для удобства подсчета строк. Создаем новый проект — Single View Application — и удаляем файлы классов ViewController'a и AppDelegat'a, так как их мы перенесем в main.m. Соответственно, в Storyboard'e отвязываем ViewController от автоматически созданного класса. Чтобы не париться из-за статус бара — убираем его в настройках, а так же фиксируем ориентацию экрана, чтобы не волноваться насчет поворотов девайса.
Читать полностью »
Hello World на JavaScript (30 строк кода)
2013-11-20 в 0:36, admin, рубрики: 30 строк, hello world, javascript, метки: 30 строк, hello world, javascriptЖизнь текла своим чередом и я занимался своими любимыми делами: ел, спал и читал хабр. И вдруг, как грибы после дождя, начали появляться статьи, в заголовках которых присутствовали две ключевые фразы: «JavaScript» и «30 строк кода». Только вот незадача: в JavaScript я новичок и написать что-нибудь серьезное, как мои предшественники, не смогу, а поучаствовать в этом марафоне хочется. Читать полностью »
Игра Жизнь на LiveScript в 30 строк
2013-11-19 в 13:01, admin, рубрики: 30 строк, 30строк, game of life, javascript, life, livescript, Веб-разработка, жизнь, игра, игра жизнь, матрица, ненормальное программирование, симуляция, строк, метки: 30 строк, 30строк, game of life, javascript, life, livescript, жизнь, игра, игра жизнь, матрица, симуляция, строк В продолжение 30-ти строчного мема, выкладываю реализацию известной игры Жизнь на LiveScript (язык, транслируемый в Javascript).
Читать полностью »
Сокобан на Javascript в 30 строк
2013-11-19 в 12:27, admin, рубрики: 30 строк, javascript, ненормальное программирование, метки: 30 строк, javascript, sokobanВсем привет, решил приобщиться к общему безумию. В 30 строк уже написали почти все, что могли, но старого доброго сокобана я не нашел (возможно, плохо искал), так что хочу восполнить этот пробел.
Ссылка на fiddle
Читать полностью »