Triforce вымышленный артефакт Легенда о Zelda , из трех одинаковых смотрящим равносторонних треугольников , представляющих власть, мудрость и мужество. Несколько игр в саге содержат анимацию, когда эти три части наконец объединяются.
Цель этой задачи - нарисовать один 2D-кадр с такой упрощенной анимацией, с заданной шириной для треугольников и заданным интервалом между частями.
вход
Вход состоит из двух целых чисел: ширины и значения расстояния s ≥ 0 .
Выход
Рамка должна быть нарисована в соответствии со следующими характеристиками:
/\
/ \____________ this part is horizontally centered
/ \
/______\
\___ s empty lines
/
/\ /\
/ \ / \______ w+1 backslashes
/ \ / \
/______\ /______\
\_______ 2w underscores
|__|
\_____________ 2s spaces
В приведенном выше примере мы имеем и s = 2 .
Больше примеров
, s = 0 :
/\
/__\
/\ /\
/__\/__\
, s = 0 :
/\
/ \
/____\
/\ /\
/ \ / \
/____\/____\
, s = 3 :
/\
/ \
/ \
/______\
/\ /\
/ \ / \
/ \ / \
/______\ /______\
, s = 1 :
/\
/ \
/ \
/ \
/________\
/\ /\
/ \ / \
/ \ / \
/ \ / \
/________\ /________\
правила
- Конечные пробелы в каждой строке не обязательны.
- Дополнительные пробелы в каждой строке не допускаются.
- Вы можете вывести одну дополнительную ведущую новую строку и / или одну дополнительную завершающую новую строку.
- Это код-гольф .
Python 2 ,
127124 байтаПопробуйте онлайн!
источник
Холст ,
201916 байтовПопробуй это здесь!
Объяснение:
примечание: при создании этого я исправил ошибку в коде, без этого это было бы 18 байтов .
источник
R ,
225,224,214,211, 208 байтовПопробуйте онлайн!
источник
if(F)0
это приемлемо точно и сохраняет один байт. Или даже лучшеrm()
на 3 байта.q()
в моем первом комментарии недопустимо в соответствии с этой метаПаскаль (FPC) ,
296264 байтаПопробуйте онлайн!
источник
Python 2 ,
256248240228199195 байтБолее длинная программа, но немного другой подход:
Попробуйте онлайн!
сэкономил много байтов благодаря игнорированию конечных пробелов и включению некоторых трюков из @ovs, которые были
сохранены еще больше путем определения переменной ранее
источник
Рубин , 126 байт
Попробуйте онлайн!
источник
Сетчатка 0.8.2 , 141 байт
Попробуйте онлайн! Примечание: некоторые конечные пробелы в выводе. Объяснение:
Преобразуйте входные данные в пробелы. (Вторая строка заканчивается пробелом.)
Создайте стороны нижних двух треугольников с соответствующим интервалом.
Заполните основание треугольников.
Дублируйте треугольники с соответствующим вертикальным интервалом.
Преобразуйте верхние треугольники в один центрированный треугольник.
источник
C (gcc),
404389 байтПопробуйте онлайн!
-14 байт из родолвертиц
-1 байт, исправляя уменьшение переменной цикла
зачеркнуто
404почти все еще 404Ungolfed:
источник
#define p putchar
?p(x);
вместоp(x)
(+26, -6) = +20 байт. Точка с запятой включается при раскрытии макроса.Желе , 51 байт
Попробуйте онлайн!
источник