Можете ли вы сделать версию логотипа BBC Micro Owl, как указано выше, из кода?
Правила:
- Вы можете использовать любой язык программирования, который вам нравится.
- Вывод может быть текстовым или графическим.
- Круги не должны перекрываться.
Победитель:
- Ответ с наибольшим количеством голосов выигрывает.
Престижность для тех, кто пытается это в BBC Basic.
Вы можете прочитать о BBC Micro здесь
popularity-contest
graphical-output
Бен Патон
источник
источник
Ответы:
BBC BASIC
Я пытался использовать функции триггера для рисования правильных кругов, но это было мучительно медленно. Придумал это вместо:
Вот вывод:
источник
GolfScript
Код печатает арт-версию логотипа ascii (см. Здесь ).
источник
Mathematica
Ничего, кроме тяжелой работы.
источник
р
Результаты в:
По сути, идея состоит в том, чтобы взять представление base-2 из 17 чисел (1397760, 567810, 1070336, 141954, 1381696, 133794, 1054036, 559786, 1332560, 557218, 1052756, 131114, 1380368, 139272, 1064964, 557058 и 1398101) превратить его в матрицу 21x17 из 1 и 0 и построить матрицу как есть.
источник
POV-Ray
«скомпилировать» с
povray +Ibbc.pov -Obbc.png +A0.1 +R9 -W240 -H285
источник
удар
Поскольку вы не указали никаких внешних ресурсов ...
Ховард - украл у тебя искусство Ascii, спасибо.
Или после того, как я загрузил его здесь -
источник
BBC Basic, случайные цвета, игра в гольф!
149 символов. Я не настолько хорош в гольфе (я предпочитаю проблемы с кодом), но мне понравилась нелепость игры в гольф в BBC basic. Эмулятор BBC на http://www.bbcbasic.co.uk/ . Запускается в режиме экрана 6 в командной строке.
FORK = 6TO185S = K MOD9 = 5VDU-32 * (K MOD18 = 15), 17 128 + RND (6) * (ASCMID $ ("? OSUuLEMSS ^ H? = A_W", K / 6,1) / 2 ^ (K MOD6) AND1), 32,17,128,32, -13 * С, -10 * С: СЛЕДУЮЩИЙ
Пояснение (версия без гольфа)
Нет выражений IF, потому что остальная часть строки будет выполнена только в том случае, если IF истинно (поэтому, чтобы убедиться, что NEXT был достигнут, мне нужно было бы создать программу с номерами строк.) Поэтому я много использовал ASC (null символ) = 0 для управления выводом. Кроме того, мне пришлось обрезать пиксель в правом нижнем углу, чтобы уместить всю командную строку на экране после печати (и это позволило сохранить 2 символа.
Мне нравится, как BBC basic может распознавать идентификатор после FOR, даже без пробелов. FORE, FORD, FORK, FORM, FORS, FORT :-)
источник
С
Выход ASCII.
Вывод кода:
источник
JavaScript -
326307285 символов (ASCII)Вероятно, не самый короткий код. Я старался быть как можно ближе к оригинальному логотипу, используя только ASCII.
Для выполнения: скопируйте вставить в консоль javascript (например, chrome или firefox). Примечание: запуск сценария может занять некоторое время, поэтому, если после нажатия клавиши ввода ничего не происходит, проявите терпение.
источник
m=Math;
и затем делаяm.floor
,m.pow
и т. Д.for
крайнюю петлю в a,with (Math)
а затем опускаяMath.
при каждом появлении. Переместитеs+=
детали в заголовок цикла (рядом сy++
/x++
), чтобы избавиться от некоторых скобок. Я думаю, что это типично использоватьalert
/prompt
для ввода / вывода при игре в гольф в JS, поэтому я бы пошелalert(s)
в конце вместо этого.CoffeeScript
Код не в гольфе. Он использует некоторый алгоритм metaballs -ish для имитации "липкости" кругов. Сова ASCII была бесстыдно похищена из других ответов :)
Посмотрите, как он уничтожает документацию по coffeescript.org (нажмите Run):
источник
PHP
Построение на основе версий логотипа ascii, представленных ранее, и использование его в качестве массива для визуализации графической версии с использованием библиотеки GD.
Результаты в:
источник
BBC Basic + GXR
Очень поздно, но: учетная запись «bbcmicrobot» в твиттере, которая работает с прогами <280 символов или около того, добавила ПЗУ Acorn GXR, позволяя рисовать круги и эллипсы. Я подумал, что я могу нарисовать с парой кругов? И это пришло ко мне. Он частично основан на ответе @Level River Street, хотя я использовал сокращенные базовые команды, использовал битовое тестирование вместо SHR и изменил битовое представление:
Мой оригинальный твит здесь
источник