Herausforderung
Der Winter rückt immer näher und viele Orte erhalten die ersten Schneeschichten für die Saison 15/16. Warum brechen wir also nicht die Schneemaschinen aus und kodieren uns selbst etwas Schnee?
Bei einer Ganzzahl n
über STDIN wird die Schneeflocke von Beta (wie unten beschrieben) als ASCII-Darstellung auf Ebene ausgegeben n
.
Betas Schneeflocke
Die Schneeflocke startet auf Stufe 0 mit einem einzelnen x:
x
Dann fügen Sie an jeder Ecke eine der folgenden Formen hinzu:
x
xx
Sie fügen die obige Form einer rechten oberen Ecke hinzu. Drehen Sie die untere rechte Ecke um 90 ° im Uhrzeigersinn, die untere linke um 180 ° im Uhrzeigersinn und die obere linke um 270 ° im Uhrzeigersinn.
Wenn Sie das tun, erhalten Sie die folgende Form:
x x
xx xx
x
xx xx
x x
Beachten Sie die Ausrichtung der Formen. Wenn wir weitermachen, fügen wir unter Verwendung der oben beschriebenen Ausrichtungsregeln mehr Formen zu jeder Ecke hinzu, um Ebene 2 zu erhalten:
x x x
xxxxxxx
xx x x xx
xxx xxx
xx x xx
xxx xxx
xx x x xx
xxxxxxx
x x x
Beachten Sie, dass die Formen nur zu x
s mit zwei oder mehr exponierten Seiten hinzugefügt werden (die oben als Ecke bezeichnet werden).
Die L-Formen können und werden sich bei Werten n
über 1 überlappen . Zum Beispiel:
Wenn Level 0 ist:
x x
Dann muss es Überlappungen in Ebene 1 geben (angezeigt mit o
, nicht o
in Ihre Ausgabe aufnehmen):
x o x
xxxoxxx
x x
xxxoxxx
x o x
Ihre Aufgabe ist es, diese ASCII-Darstellung von Betas Schneeflocke auszugeben.
Bonus
Für das kürzeste Programm wird ein Bonus von 50 Wiederholungen gewährt n
, der die Schneeflocke (auf Stufe n*-1
) als Bild oder grafisch auf dem Bildschirm ausgibt , wenn sie negativ ist .
Möglicherweise haben Sie ein separates Programm für das Kopfgeld und die Hauptaufgabe.
Gewinnen
Das kürzeste Programm in Bytes gewinnt.
2 or more exposed sides
Regel klarstellen ? Unter der Annahme , Zentrum wird 0,0
dann 1,1
, 1,-1
, -1,-1
, -1,1
haben alle 2 freiliegenden Seiten (die Seiten gegenüber den anderen Punkten 4 gegenüberliegt). Sollten es nicht mehr als 3 offene Seiten sein, um ein Füllen zu vermeiden? Oder alternativ erweitert es sich nur, wenn es 0 oder 1 Nachbarn hat (Kardinal).