Comments 42
Извините, не удержался — новый тренд в js — «написать TaskName в 30 строк»
А по теме, да, интересно, спасибо
А по теме, да, интересно, спасибо
Ну, не сказать, чтобы тренд, и не сказать, чтобы в js — думаю, это было всегда с тех самых пор, когда программирование только появилось — «написать X используя язык Y в N строк». Думаю, просто js для этого очень хорошо подходит, а тут ещё и этот триклятый (всю ночь ведь код писал) пост с excel'ем:)
А вообще — да, ждем новых поступлений js-микроговнокода:)
А вообще — да, ждем новых поступлений js-микроговнокода:)
Астрологи объявили неделю игр на JS. Количество строк сократилось до 30.
Красиво и просто! Скоро на хабре можно будет целую коллекцию 30-строчных программ собрать. Ждем следующую…
на хабре неделя ненормального программирования
gist.github.com/aemkei/1134658 — game of life
habrahabr.ru/post/138335/ — тетрис
habrahabr.ru/post/202304/ — excel
habrahabr.ru/post/202476/ — змейка
habrahabr.ru/post/202530/ — арканоид
gist.github.com/aemkei/1134658 — game of life
habrahabr.ru/post/138335/ — тетрис
habrahabr.ru/post/202304/ — excel
habrahabr.ru/post/202476/ — змейка
habrahabr.ru/post/202530/ — арканоид
habrahabr.ru/post/202556/ — гонки
еще и пинг — понг:
habrahabr.ru/post/202578/
habrahabr.ru/post/202578/
А что еще было? Добавил вроде все — 30lines.info
Сокобан — habrahabr.ru/post/202756/
Пианино (тут правда меньше 30 строк) — habrahabr.ru/post/202646/
Было еще несколько топиков, но там не JS
Пианино (тут правда меньше 30 строк) — habrahabr.ru/post/202646/
Было еще несколько топиков, но там не JS
Астрологи объявили двухкратный прирост постов про JS
Ждём серию статей: CRM в 30 000 строк кода.
а то фиддл всю ночь 500кой отвечал.
Так всю ночь народ свои тридцатистрочники постил ;)
По сабжу — элегантно, даже хватило места двум пустым строкам и переменной px
Между рендерингом и осознанием того, что страница загрузилась — потерял первую жизнь, дёрнув мышкой загнал шарик под ракетку и он дважды быстро ударился об нижнюю часть экрана :(
Жду-не дождусь «пишем шутер от первого лица на JS, в 30 строк». Пусть даже на порядок больше было бы, пусть 300. Но было бы адски круто о_О
Я немного знаком с OpenGL и с её высокоуровневой js-оберткой Three.js и могу точно сказать что в 300 строк не уложить (не используя что-то ещё более высокоуровневое). В 3000 — вот тут можно поспорить уже. Ну а на чистом js без библиотек точно не выйдет.
И, да — буду только счастлив узнать, что я ошибаюсь)
И, да — буду только счастлив узнать, что я ошибаюсь)
Ну на чистом JS+Canvas можно попробовать замутить нечто вроде Wolfenstein 3D (без обсчета полигональных моделей, никакого освещения, только спрайты). Но тоже думаю, 3000 будет мало, да. Тоже немного писал на OpenGL)
Хм, если вы этого не знали, то вам, думаю, будет интересно — Wolfenstein был портирован под браузер (читай — WebGL). Правда, сейчас переход по ссылке твердит 403, но он там был, клянусь)
О, я видел запуск в браузере и Doom'а, и даже Quake 1 ) Но речь то шла о «в минимальное число строк» )
Вольфенштейно-подобную графику в 300 строк — вполне реально, думаю)
На Opera Presto кирпичи немного не умещаются, и игра очень странно выглядит.На Opera Blink вроде порядок.
У меня опера 12 c чем-то, тестировал в ней, вроде все работало. Это какой движок?
К слову, я, пока писал, себе 300 раз сказал спасибо за то, что jQuery использую только там, где это того стоит. Разумеется, речь идет о кроссбраузерности голого js — я его знаю(!).
И ещё интересный момент, который для мне непонятен до сих пор. Лежат кирпичи, точно знаю, что их длина в ряд 320px. Открываю документ на локальной машине — всё нормально. Открываю на фиддле — в каждом ряду последний кирпич не взлазит и сползает на следующий ряд. Код ровно тот же. Так и не понял почему это происходит. Пришлось для кроссФиддловости сделать ширину поля 322px.
К слову, я, пока писал, себе 300 раз сказал спасибо за то, что jQuery использую только там, где это того стоит. Разумеется, речь идет о кроссбраузерности голого js — я его знаю(!).
И ещё интересный момент, который для мне непонятен до сих пор. Лежат кирпичи, точно знаю, что их длина в ряд 320px. Открываю документ на локальной машине — всё нормально. Открываю на фиддле — в каждом ряду последний кирпич не взлазит и сползает на следующий ряд. Код ровно тот же. Так и не понял почему это происходит. Пришлось для кроссФиддловости сделать ширину поля 322px.
Ребята, но ведь количество строк не значит ничего, правда? У меня вот на проекте весь функционал умещается в одну строку… после closure compiler…
Разумеется, вы правы — любой код можно написать в одну строку, можно размазать на 1оо5оо)
Здесь речь идет не много о другом, и, каюсь, я не могу строго сформулировать эту идею, но суть в том, чтобы строки были логичными — здесь думаю, суть в том, чтобы каждая строка выполняла не более одной высокоуровневневой операции. И чтобы этот код можно было разобрать 'без лупы'.
Разумеется, 'высокоуровневневость' вещь катострофически относительная, и вот здесь-то, на мой взгляд, вся субъективность и кроется.
Как бы ты это не определял, всегда можно просто взять и найти контрпример, который выставит несостоятельными все предыдущие аргументы).
Но я сдесь к задаче подошел скорее с точки зрения синтаксической нежели семантической. Если по простому — один 'if' — одна строка, то есть больше опирался на языковые конструкции чем на логические.
Здесь речь идет не много о другом, и, каюсь, я не могу строго сформулировать эту идею, но суть в том, чтобы строки были логичными — здесь думаю, суть в том, чтобы каждая строка выполняла не более одной высокоуровневневой операции. И чтобы этот код можно было разобрать 'без лупы'.
Разумеется, 'высокоуровневневость' вещь катострофически относительная, и вот здесь-то, на мой взгляд, вся субъективность и кроется.
Как бы ты это не определял, всегда можно просто взять и найти контрпример, который выставит несостоятельными все предыдущие аргументы).
Но я сдесь к задаче подошел скорее с точки зрения синтаксической нежели семантической. Если по простому — один 'if' — одна строка, то есть больше опирался на языковые конструкции чем на логические.
Извиняюсь за сумбур и ошибки — спешил.
Обычно в таких случаях считают в символах. Вот, например, шахматы в 1433 значимых символа на C.
Есть такая нотация для листинга программ — мне кажется, «академическая» называется. Точно не знаю, откуда такой термин. Думаю, этот вид нотации рассчитан на то, что студенты к каждой строке могут захотеть написать комментарий, а значит там много переводов строк и много свободного места справа.
C двадцатью четырьмя жизнями игру можно пройти не шевеля мышкой.
делаем общую репу на гитхабе для 30-строчного js?
Не очень понимаю, что такое общий репозиторий, но идея мне понравилась
Речь идёт о публичном репозитории? Вот — сделал, добавляйтесь в колабораторы.
github.com/pvolyntsev/thirty-lines-js-games: A set of small browser games that comprises about 30 lines of JavaScript
Если ошибся — подскажите в личку, что сделал не так.
У меня тоже есть мозголомка на javascript, но она с использованием jQuery UI, потому что drag&drop: projects.copist.ru/gues-color/ — делал как демо простого визуального программирования для дочери.
Вряд ли смогу её переписать в 30 строк.
Речь идёт о публичном репозитории? Вот — сделал, добавляйтесь в колабораторы.
github.com/pvolyntsev/thirty-lines-js-games: A set of small browser games that comprises about 30 lines of JavaScript
Если ошибся — подскажите в личку, что сделал не так.
У меня тоже есть мозголомка на javascript, но она с использованием jQuery UI, потому что drag&drop: projects.copist.ru/gues-color/ — делал как демо простого визуального программирования для дочери.
Вряд ли смогу её переписать в 30 строк.
Хм, а если сделать минимизацию, то получится крошечный арканоид на одну строку кода?
Хмм, прочитав пост, первым делом мне подумалось о том что выйдет, лет так через десять, новость на хабре и будет называться она «Battlefield на досуге. 30 строк кода».
Sign up to leave a comment.
Крошечный арканоид на JavaScript (30 строк кода)