Vedi anche: Wordagons
Sfida
Dato un esagono e un numero n
come input, emette gli stessi n
tempi ruotati di esagono .
Esagono
L'esagono sarà una stringa in questo modo:
a b c
d d e e
f f o g g
h h i i
j k l
L'esagono sarà sempre regolare e conterrà sempre e solo i caratteri ASCII stampabili:
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
Rotazione
Per sapere di quanto ruotare l'esagono, moltiplicalo n
per 60 gradi per ottenere l'angolo di rotazione. Ad esempio, usando l'esagono sopra, se n
è 2, lo moltiplichiamo per 60 per ottenere 120 gradi. Quindi, ruotiamo l'esagono di 120 gradi:
j h f
k h f d
l i o d a
i g e b
g e c
Si noti che ogni lato ha spostato due lati in senso orario.
Se n
è positivo, è necessario ruotare l'esagono in senso orario. Se n
è negativo, è necessario ruotare l'esagono in senso antiorario.
n
sarà sempre un numero intero compreso tra -6 e 6 inclusi.
Esempi
Ingresso:
. u .
. | .
l - + - r
. | .
. d .
n
= 3
. d .
. | .
r - + - l
. | .
. u .
Ingresso:
- - -
/ \
< >
\ /
- - -
n
= -1
Produzione:
- \ >
- /
- -
/ -
< \ -
Ingresso:
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
Produzione:
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
vincente
Vince il programma più breve in byte.
transform:rotate(x)
. Si scopre che non era un'idea brillante, chi l'avrebbe saputo?