Смотрите также: Wordagons
Вызов
Если в n
качестве входных данных указан шестиугольник и число , выведите тот же самый угол поворота шестиугольника n
.
шестиугольник
Шестигранник будет выглядеть примерно так:
a b c
d d e e
f f o g g
h h i i
j k l
Шестиугольник всегда будет регулярным и будет содержать только печатные символы ASCII:
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
вращение
Чтобы узнать, на сколько повернуть шестиугольник, умножьте его n
на 60 градусов, чтобы получить угол поворота. Например, используя вышеуказанный шестиугольник, если n
равен 2, мы умножаем это на 60, чтобы получить 120 градусов. Затем мы поворачиваем шестиугольник на 120 градусов:
j h f
k h f d
l i o d a
i g e b
g e c
Обратите внимание, что каждая сторона переместилась на две стороны по часовой стрелке.
Если n
положительный, вы должны повернуть шестиугольник по часовой стрелке. Если n
отрицательно, вы должны повернуть шестиугольник против часовой стрелки.
n
всегда будет целым числом в диапазоне от -6 до 6 включительно.
Примеры
Входные данные:
. u .
. | .
l - + - r
. | .
. d .
n
= 3
. d .
. | .
r - + - l
. | .
. u .
Входные данные:
- - -
/ \
< >
\ /
- - -
n
= -1
Выход:
- \ >
- /
- -
/ -
< \ -
Входные данные:
h e x a
g o n s a
n d t r i a
n g l e s m a
k e m e s a
d l y m a
d d e r
n
= 6
Выход:
h e x a
g o n s a
n d t r i a
n g l e s m a
k e m e s a
d l y m a
d d e r
выигрыш
Самая короткая программа в байтах побеждает.
источник
transform:rotate(x)
. Оказывается, это не была блестящая идея, кто бы знал?Ответы:
Perl
120119113107104102 байтВключает +6 для
-0pXi
Запустите с шестигранником на STDIN (с пробелами, чтобы все строки имели одинаковую длину) и числом оборотов после -i.
rotagon.pl
Наконец, матрица вращения стала короче старой двойной петли
источник
a
иn
флаги, чтобы заставить это работать.-F
подразумевает-a
и-a
в свою очередь подразумевает-n
Python 2,
160158156148124 байтаПриготовьтесь удивляться! Полученный текст рисуется на холсте ... пользователем
Turtle
! : DПопробуйте онлайн - Поддерживает десятичные вращения!
Если вы предпочитаете, чтобы черепаха была в форме, вы можете добавить строку
t.shape("turtle")
.Просмотрите историю изменений, чтобы увидеть прошлые версии.
Используемые псевдонимы :
up()
-penup()
rt()
-right()
lt()
-left()
fd()
-forward()
bk()
-backward()
Спасибо Sherlock9 за предложения !
источник
t.write('\n')
работал ...t.up()
, я был бы там.Python 2.7, 151 байт
Пример:
источник
JavaScript (ES6),
130127 байтПервоначально основанный на моем ответе « Повернуть алмазную плитку», хотя теперь я мог бы переписать этот ответ в соответствии с этим ответом.
источник