(связано / вдохновлено: нарисовать боулинг )
Веселое времяпрепровождение в зимние месяцы - это играть в боулинг со снеговиком, используя большой мяч (как баскетбольный мяч) и маленькие фигурки снеговика. Давайте воссоздадим это в ASCII.
Каждый снеговик состоит из следующего:
(.,.)
( : )
Вот расстановка десяти снежных «булавок»
(.,.) (.,.) (.,.) (.,.)
( : ) ( : ) ( : ) ( : )
(.,.) (.,.) (.,.)
( : ) ( : ) ( : )
(.,.) (.,.)
( : ) ( : )
(.,.)
( : )
Эти «контакты» маркируются от 1
до , 10
как
7 8 9 10
4 5 6
2 3
1
Пока что все стандартно. Однако, в отличие от обычного боулинга, булавки снеговика просто сплющены и не полностью удалены. Это делает кто-то, кому нужно вручную выровнять снег из любых ударов. Плоский снеговик представлен _____
(пять подчеркиваний) с пробелами вверху. Вот пример со 1 3 5 6 9 10
сглаженными штифтами (то есть 2 4 7 8
остаются только штифты):
(.,.) (.,.)
( : ) ( : ) _____ _____
(.,.)
( : ) _____ _____
(.,.)
( : ) _____
_____
вход
- Список целых чисел от
1
до10
в любом удобном формате представляющий, какие выводы были нанесены и, следовательно, должны быть сведены. - Каждый номер будет отображаться не более одного раза, и номера могут быть в любом порядке (отсортированы, отсортированы по убыванию) - на ваш выбор, независимо от того, что делает ваш код более привлекательным.
- На входе гарантированно есть хотя бы одно целое число.
Выход
Результирующее ASCII художественное изображение булавок снеговика с правильными сплющенными булавками.
правила
- Начальные или завершающие символы новой строки или пробелы являются необязательными, при условии, что сами символы выстроены правильно.
- Допустимы либо полная программа, либо функция. Если функция, вы можете вернуть вывод, а не распечатать его.
- Если возможно, укажите ссылку на среду онлайн-тестирования, чтобы люди могли опробовать ваш код!
- Стандартные лазейки запрещены.
- Это код-гольф, поэтому применяются все обычные правила игры в гольф, и выигрывает самый короткий код (в байтах).
Примеры
1 3 5 6 9 10
(.,.) (.,.)
( : ) ( : ) _____ _____
(.,.)
( : ) _____ _____
(.,.)
( : ) _____
_____
1 2 3
(.,.) (.,.) (.,.) (.,.)
( : ) ( : ) ( : ) ( : )
(.,.) (.,.) (.,.)
( : ) ( : ) ( : )
_____ _____
_____
1 2 3 4 5 6 8 9 10
(.,.)
( : ) _____ _____ _____
_____ _____ _____
_____ _____
_____
источник
Ответы:
05AB1E ,
4544 байтаПопробуйте онлайн!
объяснение
источник
Снеговик 1.0.2 , 157 байт
Попробуйте онлайн!
Когда я увидел этот вызов, я понял, что мне просто нужно ответить на идеальном языке ...
Это подпрограмма, которая принимает входные данные в виде массива чисел и выводит их в виде строки через текущий permavar.
Завернуто для «читабельности» / эстетики:
Слегка разглаженная / прокомментированная версия:
источник
сложенный , неконкурентный, 118 байт
deepmap
После этого вызова я добавил и несколько других вещей, а также множество исправлений. Попробуй это здесь!Ungolfed
Выход:
источник
Python 2,
248243241226224223221210206200177 байт-5 благодаря @Rod
-15 снова благодаря Роду
-1 снова используя расчёт пространства от Rod
Выглядит длиннее из-за большего количества строк и отступов, но на удивление короче на 11 байт.
Я уверен, что это пойдет под 200 ...
Я был прав, но не без 23 байтов серьезных намеков от @ Pietu1998. Большое спасибо!
Попробуйте онлайн!
Принимает ввод как список целых чисел. Слишком большой на 248, но это работает.
источник
C #
233221213203 байтаметод принимает массив int как список выпавших выводов
завернутый
расширенный
выбил несколько байтов из предложений в комментариях от Ghost, raznagul и auhmaan.
источник
new[]{7,4,2,1}.Contains(i--)
кi<9&&i%3==1||i==2
i==7||i<5&&i!=3
i==7|i<5&i--!=3
var o="";var x=...
наstring o="",x=""...
.Пакетный, 262 байта
Примечание. Строки 2, 3 и 4 заканчиваются пробелом, а также выводят завершающий пробел в каждой строке. Они могут быть удалены по стоимости 5 байт. Работает, создавая переменные s1 ... s10 в качестве нижних половин снеговиков, затем выравнивая значения, заданные в качестве аргументов командной строки. Соответствующие строки печатаются дважды, в первый раз нижние половины заменяются верхними. Это экономит 18 байт за счет использования двух наборов верхней и нижней половины переменных.
источник
JavaScript,
154149 байтисточник
Pyth, 63 байта
Программа, которая принимает ввод списка целых чисел и печатает результат.
Тестирование
[Объяснение будет позже]
источник
Pyth, 51 байт
Код содержит некоторые непечатаемые, поэтому здесь
xxd
hexdump.Попробуйте онлайн.
Без печати, 52 байта
Попробуйте онлайн.
источник
Javascript
178169 байтПо сути порт из моего ответа C #.
Принимает массив int как список сплющенных «пинов»;
Облаченный:
Расширено и объяснено:
источник