Wählen Sie einen Satz von vier Bytes ohne Ersetzung (dh ohne Byte-Wiederholung) und nicht unbedingt in einer bestimmten Reihenfolge aus einem der folgenden vier Sätze:
- Die Zeichen einer Einzelbyte-Codierung
- Die Unicode-Zeichen im Bereich 00 – FF
- Die vorzeichenbehafteten Dezimalzahlen im Bereich von −128–127
- Die vorzeichenlosen Dezimalzahlen im Bereich von 0 bis 255
Die vier von Ihnen gewählten Werte (bitte geben Sie an, welche es sind) sind die gültigen Eingaben. Sie müssen jeden Wert mit einem der folgenden ASCII-Kunstwerke koppeln.
Beantworten Sie (mit allen Mitteln) eine Ihrer vier gültigen Eingaben (mit allen Mitteln sogar eine Liste von Zeichenfolgen) mit der entsprechenden ASCII-Grafik. Zusätzlicher Leerraum ist auf allen Seiten zulässig, solange sich das Bild in einem zusammenhängenden 2D-Bereich befindet.
Erstes Byte:
/\
/ \
| |
| |
| |
|____|
\__/
| |
| |
| |
| |
/\ | | /\
/ \| |/ \
| || || |
| || || |
| || || |
| || || |
| || || |
| || || |
| || || |
| || || |
| || || |
| || || |
| || || |
| || || |
| || || |
| || || |
| || || |
| || || |
| || || |
| || || |
AAAAAAAAAAAA
Zweites Byte:
/\
/ \
| |
| |
| |
|____|
\__/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
AAAA
Drittes Byte:
/\
/ \
| |
| |
| |
|____|
\__/
| |
| |
| |
|__|
/\
Viertes Byte:
db
_/\_
\__/
| |
| |
| |
|__|
/\
Was ist neu an dieser ASCII-Kunst-Kolmogorov-Komplexitätsherausforderung?
Die Möglichkeit, gültige Eingaben auszuwählen, stellt einen neuen Aspekt der Herausforderung dar. Die Eingaben sind eindeutig zu begrenzt, um das gesamte Ergebnis zu codieren, können jedoch genügend Informationen enthalten, um Aufmerksamkeit zu verdienen.
Die mehreren möglichen Ausgaben haben eine große Struktur, sodass die Wiederverwendung von Code oder Unterbildern sowohl innerhalb jedes Bildes als auch zwischen Bildern möglich ist.
Es gibt genug Vervielfältigungen, so dass selbst Sprachen, die auf solche Herausforderungen nicht gut vorbereitet sind, durchaus in der Lage sind, cleveren Code zu verwenden und nicht nur Zeichenfolgen ausgiebig hart zu codieren.
Antworten:
JavaScript (ES6), 247 Byte
RegPack'ed. Erwartet 0 ... 3 als Eingabe.
Probieren Sie es online!
quelle
BigFu!#?%$Rocket
? Aber das ist nur Falcon Heavy!BFR.reduce() == FalconHeavy
: p"FRFRFRF" = "Fu!#?%$RocketFu!#?%$RocketFu!#?%$RocketFu!#"
richtig? Ich liebe diese Antwort mehr als alles andere lol.Kohle , 67 Bytes
Probieren Sie es online! Link ist eine ausführliche Version des Codes. Nimmt die Eingabe als Nummer 3-0. Erläuterung:
Geben Sie die Nummer ein.
Wenn es 3 ist, ziehe den halben Booster, spiegele ihn und bewege dich zur Spitze der Rakete.
Wenn es nicht 0 ist, ziehen Sie die linke Hälfte des vorderen Kraftstofftanks.
Aber wenn es 3 ist, ziehen Sie die linke Hälfte des Nasenkegels.
Zeichne die linke Seite der Rakete.
Zeichnen Sie die entsprechende Basis der Rakete und spiegeln Sie sie zum Abschluss.
quelle
Charcoal
nur für diesen Wettbewerb erstellt?Sauber ,
292278273271262261 Bytes-5 Bytes dank Adám
Probieren Sie es online!
Eine Lambda-Funktion, die die
Int
Werte0..3
den Bildern in der im OP angegebenen Reihenfolge zuordnet.quelle
Python 2 ,
292290284282281 BytesProbieren Sie es online!
Nimmt eine Ganzzahl von 0 bis 3 als Eingabe und verwendet die Listenindizierung (1 oder 0), um jede Ausgabe zu erstellen.
-2 für ein nicht benötigtes Klammerpaar.
-6 durch Entfernen einer Variablenzuordnung, die nur einmal verwendet wurde.
-2 für eine andere Variable zur einmaligen Verwendung.
-1 mit einem Tipp von @Rod
quelle
n
,p
undq
sind ebenfalls nicht erforderlich (jeweils -2 Byte)." db"
und"_/\_"
wird mit"\n"
später verbunden, können Sie beide in" db\n_/\_"
, um ein anderes Byte zu speichern. Sie können (wahrscheinlich)+y
von jedem Element etwas aus der Liste entfernen (und auch die Konstante entfernen) wie(...)[i>2]+["\__/"]
Ruby ,
234212205 BytesProbieren Sie es online!
Nimmt eine ganze Zahl von 0-3. Bildet ein Array aus den linken Hälften jeder Phase, indiziert sie, füllt sie auf und spiegelt jede Zeile wider. Alle Auffüllungen haben die gleiche Breite, so dass die letzten Phasen führende Leerzeichen enthalten. Gibt ein Array von Zeichenfolgen zurück.
-2 Bytes: Deklarieren Sie
y
das Array sofort, anstatt es*[y]
später zu benötigen .-5 Bytes: Ersetzen
x="\\"
durcht=%w{_| \\}
.-5 Byte: Weniger Dereferenzierung, mehr Array-Addition.
-1 Bytes:
h+y*21+[?A*2]
->h+y*21<<?A*2
in Phase 1.-3 Bytes: Die Angabe erlaubt das Weglassen der
*$/
Verknüpfung mit dem Ergebnis.-4 Bytes:
["b","\\_","_/"]
->%w{b \\_ _/}
in Phase 3.-2 Bytes: Verwenden Sie auch die
%w
Notation im Head-Array.-7 Bytes: Verwenden
rjust
anstelle von manuellem Auffüllen (dies bedeutet auch, dass die linke Seite generiert und gespiegelt wird, anstatt mit der rechten Seite zu beginnen)Ungolfed:
quelle
SOGL V0.12 , 90 Bytes
Probieren Sie es hier aus!
Eingänge 0/1/2/3 entsprechend den Bytes 1/2/3/4
quelle
Ruby ,
209183 BytesProbieren Sie es online!
Erforderliche Eingaben wie folgt:
Die Idee ist, das
centre core + upper stage + fairing
als Standard zu nehmen und es für die anderen Ausgänge zu ändern.Kommentiert
quelle
Rot , 333 Bytes
Probieren Sie es online!
Nimmt 1 - 4 als Eingabe
Rebol , 258 Bytes
Ich habe ein Experiment mit der Rebol-
compress
Funktion durchgeführt, indem ich einen String aus allen 4 Stufen komprimiert und den entsprechenden Teil nach der Dekomprimierung ausgedruckt habe :quelle
Jstx , 124 Byte
Erläuterung
Probieren Sie es online!
quelle
C (clang) ,
421408 BytesProbieren Sie es online!
quelle