Pull to refresh

Comments 42

Извините, не удержался — новый тренд в js — «написать TaskName в 30 строк»

А по теме, да, интересно, спасибо
Ну, не сказать, чтобы тренд, и не сказать, чтобы в js — думаю, это было всегда с тех самых пор, когда программирование только появилось — «написать X используя язык Y в N строк». Думаю, просто js для этого очень хорошо подходит, а тут ещё и этот триклятый (всю ночь ведь код писал) пост с excel'ем:)

А вообще — да, ждем новых поступлений js-микроговнокода:)
Астрологи объявили неделю игр на JS. Количество строк сократилось до 30.
Красиво и просто! Скоро на хабре можно будет целую коллекцию 30-строчных программ собрать. Ждем следующую…
Астрологи объявили двухкратный прирост постов про JS
Буквально неделю назад писал свой арканоид (вернее, «арканоидо-оид», потому как управление другое) по правилам js1k. Выкладывать на хабр не стал, не думал, что кого-то заинтересует, видимо, зря.

Но сейчас, с позволения хабровчан, скромно оставлю ссылку: демо, код.
Ждём серию статей: CRM в 30 000 строк кода.
а то фиддл всю ночь 500кой отвечал.

Так всю ночь народ свои тридцатистрочники постил ;)

По сабжу — элегантно, даже хватило места двум пустым строкам и переменной px
Благодарю за отзыв.
А px, она же положение ракетки дублирует, куда же без неё?)
Каюсь, не углядел.
Кстати, почему-то совершенно напрасно остаётся пустым поле «Name you fiddle», не только у вас.
Между рендерингом и осознанием того, что страница загрузилась — потерял первую жизнь, дёрнув мышкой загнал шарик под ракетку и он дважды быстро ударился об нижнюю часть экрана :(
Да, каюсь — тот факт, что шарик просто отлетает от нижней грани, а не попадает обратно на ракетку может сильно расстроить. Но я, к сожалению, не нашел воможности (читай — строк кода) впихнуть инициализацию шара в рантайме.
Жду-не дождусь «пишем шутер от первого лица на JS, в 30 строк». Пусть даже на порядок больше было бы, пусть 300. Но было бы адски круто о_О
Я немного знаком с OpenGL и с её высокоуровневой js-оберткой Three.js и могу точно сказать что в 300 строк не уложить (не используя что-то ещё более высокоуровневое). В 3000 — вот тут можно поспорить уже. Ну а на чистом js без библиотек точно не выйдет.
И, да — буду только счастлив узнать, что я ошибаюсь)
Ну на чистом JS+Canvas можно попробовать замутить нечто вроде Wolfenstein 3D (без обсчета полигональных моделей, никакого освещения, только спрайты). Но тоже думаю, 3000 будет мало, да. Тоже немного писал на OpenGL)
Хм, если вы этого не знали, то вам, думаю, будет интересно — Wolfenstein был портирован под браузер (читай — WebGL). Правда, сейчас переход по ссылке твердит 403, но он там был, клянусь)
О, я видел запуск в браузере и Doom'а, и даже Quake 1 ) Но речь то шла о «в минимальное число строк» )
Да, Doom я тоже видел. И КК тоже хорошо выглядит) Но тут имхо минимальность будет слишком ущербной — результат будет сильно отличаться от того, что предлагают не-30ти строчные аналоги. А вот с теми тремя примерами, что прозвучали на хабре, все вроде как бы похоже на правду)
Вольфенштейно-подобную графику в 300 строк — вполне реально, думаю)
На Opera Presto кирпичи немного не умещаются, и игра очень странно выглядит.На Opera Blink вроде порядок.
У меня опера 12 c чем-то, тестировал в ней, вроде все работало. Это какой движок?
К слову, я, пока писал, себе 300 раз сказал спасибо за то, что jQuery использую только там, где это того стоит. Разумеется, речь идет о кроссбраузерности голого js — я его знаю(!).

И ещё интересный момент, который для мне непонятен до сих пор. Лежат кирпичи, точно знаю, что их длина в ряд 320px. Открываю документ на локальной машине — всё нормально. Открываю на фиддле — в каждом ряду последний кирпич не взлазит и сползает на следующий ряд. Код ровно тот же. Так и не понял почему это происходит. Пришлось для кроссФиддловости сделать ширину поля 322px.
Так и не понял почему это происходит
Zoom — он у вас разный на локальной машине и на фиддле. Нажмите в браузере Ctrl+0 (Cmd+0 на маке). В своё время я долго мучался с непонятными багами у юзеров, пока понял про zoom — некоторые слабовидящие делают трёхкратный zoom.
Ребята, но ведь количество строк не значит ничего, правда? У меня вот на проекте весь функционал умещается в одну строку… после closure compiler…
Разумеется, вы правы — любой код можно написать в одну строку, можно размазать на 1оо5оо)
Здесь речь идет не много о другом, и, каюсь, я не могу строго сформулировать эту идею, но суть в том, чтобы строки были логичными — здесь думаю, суть в том, чтобы каждая строка выполняла не более одной высокоуровневневой операции. И чтобы этот код можно было разобрать 'без лупы'.
Разумеется, 'высокоуровневневость' вещь катострофически относительная, и вот здесь-то, на мой взгляд, вся субъективность и кроется.
Как бы ты это не определял, всегда можно просто взять и найти контрпример, который выставит несостоятельными все предыдущие аргументы).
Но я сдесь к задаче подошел скорее с точки зрения синтаксической нежели семантической. Если по простому — один 'if' — одна строка, то есть больше опирался на языковые конструкции чем на логические.
Извиняюсь за сумбур и ошибки — спешил.
Есть такая нотация для листинга программ — мне кажется, «академическая» называется. Точно не знаю, откуда такой термин. Думаю, этот вид нотации рассчитан на то, что студенты к каждой строке могут захотеть написать комментарий, а значит там много переводов строк и много свободного места справа.
C двадцатью четырьмя жизнями игру можно пройти не шевеля мышкой.
Грязный хак —
    //if (by >= 288 && !--lifes) clearInterval(cycle), alert('Game over!');
делаем общую репу на гитхабе для 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 строк.
Хмм, прочитав пост, первым делом мне подумалось о том что выйдет, лет так через десять, новость на хабре и будет называться она «Battlefield на досуге. 30 строк кода».
Sign up to leave a comment.

Articles