Aufgabe
Ihre Aufgabe ist es, ein Programm zu schreiben, das ASCII-Boxen an den durch die Eingabe angegebenen Stellen ausgibt.
Eingang
Sie erhalten eine Liste mit Zahlen. Das Format ist hier ein wenig flexibel, dass Sie jeden deliminator verwenden , können Sie wollen (zB 1,2,3,4
, 1 2 3 4
, [1,2,3,4]
). Die Liste ist in 4er-Gruppen und gibt die xywh
einzelnen Felder an. Die Breite und Höhe jeder Box beträgt mindestens 2. x
und width
ist von links nach rechts. y
und height
sind von oben nach unten.
Ausgabe
Das Rendern kann als von rechts nach links betrachtet werden, wobei das Feld rechts zuerst gezeichnet wird und jedes Feld danach darüber ist. Nachgestellte Leerzeichen sowie eine nachfolgende Newline sind zulässig.
Umgang mit überlappenden Feldern
Das Feld links neben der Eingabe ist das oberste Feld, und nichts wird es überlappen. Jede Box danach wird nur in dem Bereich gerendert, der noch nicht in einer Box enthalten ist, und ersetzt nicht den Rand einer bereits gerenderten Box.
Stil
Der Stil der Kästchen ist ziemlich normal und +
wird für Ecken, -
für horizontale Linien und |
für vertikale Linien verwendet.
Beispiele:
( >>>
bezeichnet Eingabe)
>>>0 0 11 4 7 2 8 4 3 5 8 3
+---------+
| |
| |---+
+---------+ |
| |
+---+------+
| |
+------+
>>>0 3 11 4 7 5 8 4 3 8 8 3 4 0 13 5
+-----------+
| |
| |
+---------+ |
| |-----+
| |---+
+---------+ |
| |
+---+------+
| |
+------+
>>>0 0 2 2
++
++
>>>2 2 5 3 1 1 7 5 0 0 9 7
+-------+
|+-----+|
||+---+||
||| |||
||+---+||
|+-----+|
+-------+
>>>0 0 3 3 2 0 3 3
+-+-+
| | |
+-+-+
4 0 13 5
als0 4 13 5
?