Die Aufgabe
In dieser Herausforderung besteht Ihre Aufgabe darin, eine ASCII-Grafikdarstellung mehrerer Stapel von Kästen mit zunehmender Höhe zu zeichnen. Sie erhalten als Eingabe die Anzahl der Stapel, die eine positive ganze Zahl ist. Der erste Stapel enthält eine Schachtel Größe 2x2
. Der zweite Stapel enthält 2 Kartons 3x3
. Im Allgemeinen k
enthält der dritte Stapel k
Schachteln mit einer Größe (k+1)x(k+1)
.
Die Rahmen der einzelnen Kästchen werden anhand der Zeichen gezeichnet -|+
, und ihr Inneres besteht aus Leerzeichen. Benachbarte Boxen teilen ihre Ränder und Ecken sollten immer mit gezeichnet werden +
, auch wenn sie Teil eines Rahmens einer anderen Box sind.
Beispiele
Ausgabe für 1
:
++
++
Ausgabe für 2
:
+-+
| |
+-+
++ |
++-+
Ausgabe für 3
:
+--+
| |
| |
+--+
| |
+-+ |
| +--+
+-+ |
++ | |
++-+--+
Ausgabe für 5
:
+----+
| |
| |
| |
| |
+----+
| |
| |
| |
+---+ |
| +----+
| | |
| | |
+---+ |
| | |
| +----+
+--+ | |
| +---+ |
| | | |
+--+ | |
| | +----+
+-+ +---+ |
| +--+ | |
+-+ | | |
++ | | | |
++-+--+---+----+
Regeln und Wertung
Die Eingabe kann von STDIN als Befehlszeilenargument oder als Funktionsargument empfangen werden. Die Ausgabe muss auf STDOUT oder das nächstgelegene Äquivalent erfolgen. Es ist eine endliche Anzahl von nachgestellten Leerzeichen zulässig, ebenso wie vorangestellte und nachfolgende Zeilenumbrüche. Es dürfen jedoch keine zusätzlichen vorangestellten Leerzeichen vorhanden sein.
Das ist Code-Golf, also gewinnt die niedrigste Bytezahl. Standardlücken sind nicht zulässig.
Integer.MaxValue
als Eingabe verwendet werden.
Integer.MaxValue
oder gleich ist.
n
undn-1
sind relativ erstklassig. Zwei Pluspunkte überschneiden sich nie.