Siehe auch: Wordagons
Herausforderung
Wenn Sie ein Sechseck und eine Zahl n
als Eingabe angeben, geben Sie dasselbe Sechseck n
zweimal gedreht aus .
Hexagon
Das Sechseck ist eine Zeichenfolge wie folgt:
a b c
d d e e
f f o g g
h h i i
j k l
Das Sechseck ist immer regelmäßig und enthält immer nur die druckbaren ASCII-Zeichen:
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
Drehung
Um herauszufinden, um wie viel das Sechseck gedreht werden soll, multiplizieren Sie es n
mit 60 Grad, um den Drehwinkel zu erhalten. Wenn Sie beispielsweise das obige Sechseck verwenden, n
multiplizieren Sie es mit 60, um 120 Grad zu erhalten. Dann drehen wir das Sechseck um 120 Grad:
j h f
k h f d
l i o d a
i g e b
g e c
Beachten Sie, dass jede Seite zwei Seiten im Uhrzeigersinn verschoben hat .
Wenn n
positiv, sollten Sie das Sechskant im Uhrzeigersinn drehen. Wenn n
negativ, sollten Sie das Sechskant gegen den Uhrzeigersinn drehen.
n
wird immer eine ganze Zahl im Bereich von -6 bis einschließlich 6 sein.
Beispiele
Eingang:
. u .
. | .
l - + - r
. | .
. d .
n
= 3
. d .
. | .
r - + - l
. | .
. u .
Eingang:
- - -
/ \
< >
\ /
- - -
n
= -1
Ausgabe:
- \ >
- /
- -
/ -
< \ -
Eingang:
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
Ausgabe:
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
Gewinnen
Das kürzeste Programm in Bytes gewinnt.
quelle
transform:rotate(x)
. Es stellte sich heraus, dass dies keine gute Idee war, wer hätte es gewusst?Antworten:
Perl,
120119113107104102 BytesBeinhaltet +6 für
-0pXi
Führen Sie mit dem Sechseck auf STDIN (mit Leerzeichen aufgefüllt, damit alle Linien die gleiche Länge haben) und der Anzahl der Umdrehungen nach -i aus.
rotagon.pl
Schließlich wurde die Rotationsmatrix kürzer als die alte Doppelschleife
quelle
a
undn
Flags hinzufügen , um dies zum Laufen zu bringen.-F
impliziert-a
und impliziert-a
wiederum-n
Python 2,
160158156148124 BytesLassen Sie sich überraschen! Der resultierende Text wird auf eine Leinwand gezeichnet ... von a
Turtle
! : DOnline testen - Unterstützt auch Dezimalrotationen!
Wenn Sie möchten, dass die Schildkröte die Form einer Schildkröte hat, können Sie die Linie hinzufügen
t.shape("turtle")
.Zeigen Sie den Revisionsverlauf an, um frühere Versionen anzuzeigen.
Verwendete Aliase :
up()
-penup()
rt()
-right()
lt()
-left()
fd()
-forward()
bk()
-backward()
Danke an Sherlock9 für die Vorschläge !
quelle
t.write('\n')
funktioniert ...t.up()
, wäre ich da.Python 2.7, 151 Bytes
Beispiel:
quelle
JavaScript (ES6),
130127 ByteUrsprünglich auf der Grundlage meiner Antwort auf " Diamantkacheln drehen", obwohl ich diese Antwort jetzt möglicherweise in Anlehnung an diese Antwort umschreiben kann.
quelle