Herausforderung
Sie haben gerade einen brandneuen Stuhl gekauft! Das Problem ist, dass Sie keine Ahnung haben, wie Sie es steuern sollen. Sie müssen also ein Programm schreiben, um es für Sie zu tun.
Sie können nur so lange auf dem unangepassten Stuhl sitzen. Ihr Code muss daher so kurz wie möglich sein.
Beispiele
5,3,2,2,1
O
|
|
| _
| |
|_|_
|
|
O
3,5,2,3,5
O
| _
| |
|__|__
|
|
__|__
OOOOO
2,13,1,1,13
O
| _
|______|______
______|______
OOOOOOOOOOOOO
Bin ich der einzige, der denkt, das sieht aus wie ein Flugzeug?
Stuhlteile
Der Stuhl hat verschiedene Komponenten:
O
|
| <- Backrest
| _ <- Armrest
| |
|__|__ <- Seat
|
| <- Leg
_|_
OOO <- Wheels
Eingang
Sie geben einen Stuhl mit verschiedenen Variablen aus.
Die Eingabe erfolgt in der folgenden Reihenfolge. Alle Eingaben sind positive Ganzzahlen (immer größer als 0) und werden immer bereitgestellt.
- Rückenlehnenhöhe
- Sitzbreite immer ungerade
- Armlehnenhöhe Immer kleiner als die Rückenlehnenhöhe
- Beinhöhe
- Radanzahl Immer kleiner oder gleich der Sitzbreite und immer ungerade
Detaillierte Teilebeschreibungen
Die Teile des Stuhls sind:
Rückenlehne: Dies |
ist die Höhe der Rückenlehne
O
|
|
Sitz: Der Betrag _
ist die Sitzbreite , legen Sie eine |
in der Mitte für die Armlehne.
__|__
Armlehne: Die Höhe |
ist die Höhe der Armlehne . Dies sollte in der Mitte des Sitzes eingefügt werden.
_
|
|
Bein: Die Höhe von |
wird durch die Beinhöhe bestimmt
|
|
Räder: Die Räder sind unter den Beinen zentriert. Wenn es sich um mehrere handelt, sollten alle außer dem Mittelrad _
in der Linie über ihnen liegen.
_ _
OOO
Ausgabe
Die Ausgabe kann eine nachgestellte Newline haben. Jede Zeile kann nachgestellte Leerzeichen enthalten. Führende Leerzeichen sind nicht zulässig
Antworten:
LabVIEW, 146 LabVIEW-Grundelemente
Das wurde viel größer als ich es mir vorgestellt hatte ...
Diesmal wird es kein GIF geben, zum einen wegen der Größe, zum anderen weil niemand den Datenfluss verfolgen kann.
Es funktioniert, es sei denn, Sie erhalten LabVIEW und schlagen einen Datei-Hoster vor, es gibt jedoch keine Möglichkeit, dies zu überprüfen.
quelle
JavaScript (ES6), 197 Byte
Erläuterung
Nun, das wurde ziemlich schnell verworren. Ich werde nur kommentieren, was jede Zeile auf einer hohen Ebene tut. Hoffentlich ist es mit dieser Formatierung nicht allzu schwer, allen ternären Operatoren zu folgen.
Prüfung
Code-Snippet anzeigen
quelle
Python 2, 157 Bytes
Beispiel:
3,7,1,2,5
quelle
JavaScript (ES6), 182
Eine anonyme Funktion. Unter Verwendung von Vorlagenzeichenfolgen gibt es 3 Zeilenumbrüche, die für die Bytezahl von Bedeutung sind.
Keine Schleifen, mit Wiederholung für den gleichen Zweck.
Weniger golfen
Testschnipsel
quelle
SpecBAS -
185168 BytesJetzt, da SpecBAS
?
verwendet werden kannPRINT
und nicht benötigtLET
bevor Variablen Golfen etwas besser.Außerdem können Sie die Druckpositionen y und x angeben, um zu vermeiden, dass viel Abstand eingehalten werden muss. Dies druckt Rücken, Sitz, Arme und Beine, dann Räder.
BEARBEITEN:
Um die Rückseite zu drucken, ersetzen Sie eine
FOR...NEXT
Schleife durch Pipe + Return multipliziert mit der Höhe (("|"#13)*b
).quelle
Perl, 181 Bytes
beinhaltet +1 für
-n
. Legen Sie eine Datei ein undecho 5,3,2,2,1 | perl -n file.pl
Mit Kommentaren:
quelle