Die Triforce ist ein fiktives Artefakt in The Legend of Zelda , das aus drei gleich aussehenden gleichseitigen Dreiecken besteht, die für Macht, Weisheit und Mut stehen. Einige Spiele in der Saga enthalten eine Animation, wenn die drei Teile schließlich zusammengefügt werden.
Der Zweck dieser Herausforderung besteht darin, einen einzelnen 2D-Frame einer solchen vereinfachten Animation mit einer bestimmten Breite für die Dreiecke und einem bestimmten Abstand zwischen den Teilen zu zeichnen.
Eingang
Die Eingabe besteht aus zwei ganzen Zahlen: einer Breite und einem Abstandswert .
Ausgabe
Der Rahmen muss gemäß den folgenden Spezifikationen gezeichnet werden:
/\
/ \____________ this part is horizontally centered
/ \
/______\
\___ s empty lines
/
/\ /\
/ \ / \______ w+1 backslashes
/ \ / \
/______\ /______\
\_______ 2w underscores
|__|
\_____________ 2s spaces
Im obigen Beispiel haben wir und .
Mehr Beispiele
s = 0 , :
/\
/__\
/\ /\
/__\/__\
, s = 0 :
/\
/ \
/____\
/\ /\
/ \ / \
/____\/____\
, s = 3 :
/\
/ \
/ \
/______\
/\ /\
/ \ / \
/ \ / \
/______\ /______\
, s = 1 :
/\
/ \
/ \
/ \
/________\
/\ /\
/ \ / \
/ \ / \
/ \ / \
/________\ /________\
Regeln
- Nachgestellte Leerzeichen in jeder Zeile sind optional.
- Zusätzliche führende Leerzeichen in jeder Zeile sind nicht zulässig.
- Sie können eine einzelne zusätzliche führende Zeile und / oder eine einzelne zusätzliche nachfolgende Zeile ausgeben.
- Das ist Code-Golf .
Python 2 ,
127124 BytesProbieren Sie es online!
quelle
Canvas ,
20 -19 -16 BytesProbieren Sie es hier aus!
Erläuterung:
Hinweis: Bei der Erstellung dieses Dokuments habe ich einen Fehler im Code behoben. Ohne dieses Update wären dies 18 Byte .
quelle
R ,
225,224,214,211, 208 BytesProbieren Sie es online!
quelle
if(F)0
ist mit Sicherheit akzeptabel und spart ein Byte. Oder noch besserrm()
für 3 Bytes.q()
in meinem ersten Kommentar zu verwenden, ist gemäß diesem MetaPascal (FPC) ,
296264 BytesProbieren Sie es online!
quelle
Python 2 ,
256248240228199195 BytesEin längeres Programm, aber etwas anderer Ansatz:
Probieren Sie es online!
Durch das Ignorieren des nachgestellten Leerzeichens und das Einbeziehen einiger Tricks aus @ovs,
die durch die frühere Definition einer Variablen noch mehr gespart wurden, konnten viele Bytes gespart werden
quelle
Ruby , 126 Bytes
Probieren Sie es online!
quelle
Retina 0.8.2 , 141 Bytes
Probieren Sie es online! Hinweis: Einige nachgestellte Leerzeichen in der Ausgabe. Erläuterung:
Konvertieren Sie die Eingaben in Leerzeichen. (Die zweite Zeile endet mit einem Leerzeichen.)
Erstellen Sie die Seiten der unteren beiden Dreiecke mit dem entsprechenden Abstand.
Füllen Sie die Basis der Dreiecke aus.
Duplizieren Sie die Dreiecke mit dem entsprechenden vertikalen Abstand.
Wandle die oberen Dreiecke in ein einzelnes zentriertes Dreieck um.
quelle
C (gcc)
404 -389 BytesProbieren Sie es online!
-14 Bytes von Rodolvertice
-1 Byte durch Fixieren einer Dekrementierung der Schleifenvariablen
durchgestrichen
404ist fast noch 404Ungolfed:
quelle
#define p putchar
?p(x);
anstelle vonp(x)
(+26, -6) = +20 Byte verwenden. Das Semikolon wird eingeschlossen, wenn das Makro erweitert wird.Jelly , 51 Bytes
Probieren Sie es online!
quelle