Ver también: Wordagons
Desafío
Dado un hexágono y un número n
como entrada, genera el mismo hexágono rotado n
veces.
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 n
por 60 grados para obtener el ángulo de rotación. Por ejemplo, usando el hexágono anterior, si n
es 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 n
es positivo, debe girar el hexágono en sentido horario. Si n
es 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?