Ich liebe Sardinen, ich kann nicht genug davon bekommen, und mein Computer, der Omnilang 5000, ist sprachunabhängig.
Um meinem Computer die Freude am Erleben von Sardinen zu geben, habe ich beschlossen, ihm eine Reihe von Programmen zu geben, die in der Lage sind, Sardinen in verschiedenen Ausrichtungen auf dem Bildschirm anzuzeigen und bis zu zehn Sardinen anzuzeigen.
In dieser Herausforderung sind Sie dafür verantwortlich, die Programme basierend auf den folgenden Parametern zu erstellen:
Die Eingabe
Eine Zahl (zwischen 0 und 10) und ein Buchstabe von einem der folgenden "LR" (für Links oder Rechts) Zum Beispiel: 3L
oder 5R
; Wie dies in das Programm eingegeben wird, liegt bei Ihnen.
Ausgabe
Eine offene Dose Sardinen mit den Sardinen in die angegebene Richtung, wobei sich der Schlüssel (dargestellt durch das %
Zeichen " ") und der abgezogene Deckel (aufgerollte Dose am Ende, dargestellt durch das @
Zeichen " ") oben auf der Dose befinden.
- Alle Sardinen müssen in die vom Eingang angegebene Richtung zeigen.
- Alle Sardinen haben Körper mit einer Länge von fünf Zeichen zwischen der Kieme (entweder "
)
" oder "(
") und dem Schwanz "><
". - Der Schlüssel und die abgezogene Deckelrolle zeigen immer in die entgegengesetzte Richtung zu den Sardinen.
- Die Dose muss dreidimensional aussehen, wie in den Beispielen unten gezeigt.
- Die Mindesthöhe der Dose beträgt 3 Sardinen. Wenn eine Zahl kleiner als 3 ist, muss eine Dose mit 3 Sardinen mit der eingegebenen Anzahl von Sardinen angezeigt werden. Andernfalls muss die Dose die Anzahl der Sardinen haben, die in der Eingabe angegeben ist. Die Eingabe von
0R
oder0L
zeigt also eine leere Sardinenform. - Alle anderen Eingaben, die nicht validiert werden können, zeigen nichts an.
Zum Beispiel für " 3L
"
__________
(__________@%
|<*)_____><||
|<*)_____><||
|<*)_____><||
'==========''
Für " 7R
"
__________
%@__________)
||><_____(*>|
||><_____(*>|
||><_____(*>|
||><_____(*>|
||><_____(*>|
||><_____(*>|
||><_____(*>|
''=========='
Für " 2L
"
__________
(__________@%
|<*)_____><||
|<*)_____><||
| ||
'==========''
Für " 0R
"
__________
%@__________)
|| |
|| |
|| |
''=========='
" 0L
"
__________
(__________@%
| ||
| ||
| ||
'==========''
Ungültige Eingaben geben nichts zurück ...
- Dies ist Codegolf, daher gewinnt die kleinste Anzahl von Charakteren diese Herausforderung.
- Keine Schlupflöcher wie gewohnt.