Комментарии 76
НЛО прилетело и опубликовало эту надпись здесь
10 PRINT CHR$(205.5+RND(1));: GOTO 10Сегодня же видел такую реинкарнацию:
yes 'c=(╱ ╲);printf ${c[RANDOM%2]}'|bash
Еще куча немного версий на bash :)
+10
Извиняюсь за оффтоп. Никто не знает, почему
yes 'c=(╱ ╲);printf ${c[RANDOM%2]}'|bash
нормально работает, аyes 'c=(1 2);printf ${c[RANDOM%2]}'|bash
Вешает GNOME Terminal намертво(версия 2.30.2)?0
Что-то не могу подобрать подходящего шрифта под windows — без слешей повёрнутых на 45 градусов получается некрасиво :)
0
А в fb2/epub где-нибудь есть? PDF всё же не самый удобоваримый формат.
0
А конвертеры ныне не модны или под запретом? Сам пользуюсь одним «комбайном» для конвертации в epub. Писать название не буду (не сочли бы за рекламу), но напоминает оно птичку маленькую.
-2
X… У…
Хорошо, что третью букву не может нарисовать.
Хорошо, что третью букву не может нарисовать.
-17
Для тех, у кого только cmd под рукой:
@echo off
:1
set /a a=%random% %% 2
if %a%==0 set /p "t=/"<nul & goto 1
if %a%==1 set /p "t=\"<nul & goto 1
+5
Только тут генератор псевдослучайных чисел какой-то неинтересный: очень много квадратиков, и вообще повторяющихся последовательностей.
0
Да, косяк. Вот получше:
хороший генератор с периодом 2^96-1
@echo off
set /a x=123456789+%random%
set /a y=362436069+%random%
set /a z=521288629+%random%
:1
set /a "x ^= x << 16"
set /a "x ^= x >> 5"
set /a "x ^= x << 1"
set /a "t = x"
set /a "x = y"
set /a "y = z"
set /a "z = t ^ x ^ y"
set /a "a = z & 1"
if %a%==0 set /p "t=/"<nul & goto 1
if %a%==1 set /p "t=\"<nul & goto 1
хороший генератор с периодом 2^96-1
+1
А все потому что нужно брать не младший бит случайного числа, а старший.
0
Меряемся, у кого короче )
@echo off & setlocal enabledelayedexpansion
:a
set c=/\ &for /f %%i in ('set /a %random% %% 2') do echo|set /p=!c:~%%i,1!&goto a
+1
добился однострочника, запускаемого из командной строки (без bat-файла):
cmd /v:on/q/c for /l %j in (0,0,1)do if !random! LSS 16384 (<nul set/p=/)else (<nul set/p=\)
+7
У Васика операторы не заканчивались ";" Двоеточия достаточно.
-13
А на js нет подобного?
0
Моя скромная поделка jsfiddle.net/SyfMU/
Ткните носом, как можно сделать код красивее, т.к. на js пишу крайне редко.
Ткните носом, как можно сделать код красивее, т.к. на js пишу крайне редко.
0
В одну строчку:
for (var i=1; i<=640; i++) document.write((parseInt(0.5+Math.random())?"/":"\\")+(i%40?"":"\n"));
+3
for(var i=640,m=Math; i-->0;) document.write((m.floor(0.5+m.random())?"/":"\\")+(i%40?"":"\n"));
0
Я тоже пробовал делать просто текстом, но из-за шрифтов оно выглядит некрасиво. Пришлось делать в виде изображения.
Исходник (PHP + Gd)
Исходник (PHP + Gd)
Скриншот
+2
Можно использовать другие символы:
╱╲
╱╲
+4
ностальгия: только сейчас, глядя на видео, вспомнил как успокаивает мигающий курсор — прям как собачка, виляющая хвостом… нынешние компы какие-то высокомерные — а этот ждет команды, тут же исполняет, виляет хвостиком в ожидании следующей команды… эх, старею… :-)
+12
На Commodore конечно более таинственно выглядит, даже не сразу понял, как это получается :)
0
Почему исходники не на github?
+5
Вот что странно — операторы уже не все помню (пришлось воспользоваться мануалом), а где какой символ на клавиатуре расположен — пальцы помнят.
А результат совсем не такой впечатляющий, как на C64.
+4
На какой клавиатуре, JCUKEN — как на MSX?
0
Лучше заменить PRINT на RANDOMIZE USR, так будет прикольнее :-)
+1
Я когда недавно решил побаловаться спектрумовским бейсиком удивился, что пальцы помнят не только символы, но вообще все операторы. Стоит подумать про оператор и я уже знаю на какой клавише и в каком регистре он находится…
0
Басик… Почти 20 лет прошло с тех пор, как я впервые набрал GOTO:))
+5
15 лет прошло с тех пор, как я впервые отказался от оператора goto :)
+1
Cколько лет пройдет до того момента, когда от goto откажутся компиляторы? :)
+2
Поглядите код ядра Линукс, вы очень сильно удивитесь…
+2
Я про ассемблерные jump-ы, безусловные переходы, что есть тот же самый goto по сути. Неужто в линуксе обошлись без него? Тогда очень сильно удивлюсь.
0
Простите, вы написали именно про goto, в ядре линукса именно этот оператор используется невероятно часто. А тут вы внезапно ассемблер вспомнили.
В ассемблере таки да, одни джампы. При чём условные, безусловные. Но при чём здесь ассемблер?
В ассемблере таки да, одни джампы. При чём условные, безусловные. Но при чём здесь ассемблер?
+3
Извиняюсь, не так понял. Значит таки есть там goto. Как я ответил ниже habrahabr.ru/post/161035/#comment_5529703 это всего лишь подколка в сторону ненавистников goto.
+1
В DCPU-16, насколько я помню, без него обошлись, оставили MOV IP, адрес. Но вообще, от IP пора отказываться. Слишком неэффективная штука.
+2
Фундаментальный вопрос — без бутылки не разобраться
0
НЛО прилетело и опубликовало эту надпись здесь
Это я так хитро поддел ненавистников goto. Как не абстрагируйся, все равно код сведется к простым машинным командам, где без него никак.
+2
Не «if else», а «if goto»! Иногда даже goto не пишут, просто if условие метка (или if число три метки, как в Фортране).
+1
Достаточно запретить все языки, кроме Brainfuck — в нём goto не предусмотрен. Для особо сопротивляющихся можно оставить интерпретаторы алгоритмов Маркова.
+2
Very short C programs and Javascript expressions generating musical output.
www.youtube.com/watch?v=tCRPUv8V22o
www.youtube.com/watch?v=tCRPUv8V22o
+2
Раз пошла такая пьянка, то вот вам код на Пайтоне:
import random; while 1: print random.choice(u'╱╲'),
+1
Пару месяцев назад делал штуку по похожему алгоритму: explored.tk/experiments/swoop/
В каждом тайле 2 диагональных линии, "
В каждом тайле 2 диагональных линии, "
//
" либо "\\
". Получается красивее.+1
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
10 PRINT CHR$(205.5+RND(1));: GOTO 10