Ver también: Wordagons
Desafío
Dado un hexágono y un número ncomo entrada, genera el mismo hexágono rotado nveces.
Hexágono
El hexágono será una cadena así:
a b c
d d e e
f f o g g
h h i i
j k l
El hexágono siempre será regular y solo contendrá los caracteres ASCII imprimibles:
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
Rotación
Para saber cuánto girar el hexágono, multiplique npor 60 grados para obtener el ángulo de rotación. Por ejemplo, usando el hexágono anterior, si nes 2, multiplicamos eso por 60 para obtener 120 grados. Luego, rotamos el hexágono 120 grados:
j h f
k h f d
l i o d a
i g e b
g e c
Tenga en cuenta que cada lado se ha movido dos lados en sentido horario.
Si nes positivo, debe girar el hexágono en sentido horario. Si nes negativo, debe girar el hexágono en sentido antihorario.
n siempre será un número entero en el rango de -6 a 6 inclusive.
Ejemplos
Entrada:
. u .
. | .
l - + - r
. | .
. d .
n = 3
. d .
. | .
r - + - l
. | .
. u .
Entrada:
- - -
/ \
< >
\ /
- - -
n = -1
Salida:
- \ >
- /
- -
/ -
< \ -
Entrada:
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
Salida:
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
Victorioso
El programa más corto en bytes gana.
transform:rotate(x). Resulta que no era una idea brillante, ¿quién lo hubiera sabido?