Вот простой ASCII арт снеговик:
_===_
(.,.)
( : )
( : )
Давайте сделаем его друзьями. Это будет общий образец для наших снежных людей искусства ASCII:
HHHHH
HHHHH
X(LNR)Y
X(TTT)Y
(BBB)
Ведущие места и круглые скобки всегда одинаковы для всех снежных людей. Различные буквы представляют разделы шаблона, которые могут индивидуально меняться. Каждый раздел имеет ровно четыре предустановки, которые могут заполнять символы ASCII. Смешивая и подбирая эти пресеты для всех восьми секций, мы можем создавать разнообразных снежных людей.
Все пресеты
(Обратите внимание, что пробелы ставятся на пустые строки, поэтому форма сечения всегда правильная.)
H для шляпы
Соломенная шляпа
_===_
Мексиканская шляпа
___ .....
феска
_ /_\
-
___ (_*_)
N для носа / рта
Обычный
,
точка
.
Линия
_
Никто
L для левого глаза
точка
.
Большая точка
o
Большая точка
O
Закрыто
-
R для правого глаза
(Тот же список, что и для левого глаза.)
Х для левой руки
Нормальная рука
<
Рука вверх
\
Вниз рука
/
Никто
Y для правой руки
Нормальная рука
>
Рука вверх
/
Вниз рука
\
Никто
T для Торса
Кнопки
:
Жилет
] [
Внутреннее оружие
> <
Никто
B для базы
Кнопки
:
ноги
" "
Плоский
___
Никто
Вызов
Напишите программу, которая принимает строку из восьми символов (через stdin или командную строку) в формате HNLRXYTB
, где каждая буква представляет собой цифру от 1 до 4, которая обозначает, какую предустановку использовать для соответствующего раздела снежного человека. Напечатайте полный снеговик на стандартный вывод.
Например, ввод 11114411
снеговика в верхней части страницы. (Первое 1
: у него соломенная шляпа, второе 1
: у него нормальный нос и т. Д.)
Другой пример, снеговик для ввода 33232124
:
_
/_\
\(o_O)
(] [)>
( )
подробности
Любые количества и комбинации начальных / конечных пробелов и начальных / конечных новых строк допускаются до тех пор, пока ...
- у снеговика все секции правильно расположены относительно друг друга, и
- никогда не бывает более 64 символов пробела (общий шаблон - только 7 × 5, так что вы, вероятно, не достигнете этого предела).
Вам не нужно печатать строки / столбцы шаблона, если они содержат только пробелы. например, пустая строка соломенной шляпы не требуется.
Вы должны использовать порядок деталей, как указано выше.
Вместо программы вы можете написать функцию, которая принимает цифровую строку в качестве аргумента. Вывод должен быть напечатан нормально или возвращен в виде строки.
- При желании вы можете рассматривать ввод как целое число вместо строки.
счет
Самый короткий код в байтах побеждает.
Дополнительный вопрос: Какой из 65536 отличных снежных людей ваш любимый?