Nein, nicht die
^^vv<><>BA
Art von Ostereiern, echte Ostereier, die wir malen.
Hier ist ein (schrecklich gezeichnetes) Ei.
__
/ \
/ \
| |
\____/
In Ostern malen wir sie mit Mustern. Wie diese:
__
/--\
/----\
|----|
\____/
__
/%%\
/%%%%\
|%%%%|
\____/
__
/~~\
/~~~~\
|~~~~|
\____/
Die Herausforderung
Wenn Sie ein Zeichen (druckbares ASCII) zum Malen des Eies haben, drucken Sie das bemalte Ei.
Beispiele:
&:
__
/&&\
/&&&&\
|&&&&|
\____/
#:
__
/##\
/####\
|####|
\____/
Technische Daten
- Nachgestellte Zeilenumbrüche / Leerzeichen sind erlaubt.
Antworten:
Brain-Flak ,
270268266 + 1 = 267 Bytes+1 von der
-c
FlaggeProbieren Sie es online!
Ich wollte eine Erklärung schreiben, aber ich machte zuerst ein Nickerchen und vergaß, wie dieses ganze Denken funktioniert. Deine Vermutung ist genauso gut wie meine.
quelle
Python 2, 62 Bytes
Super unkompliziert. Probieren Sie es online aus .
-1 Byte, danke an @ mbomb007
quelle
Kohle ,
302616 BytesZwei Bytes werden dank @Neil gespart, indem sie nach dem Erstellen der Form ausgefüllt werden
Probieren Sie es online!
Erläuterung
Das Programm erstellt zuerst die rechte Hälfte des Eies und spiegelt sie dann wieder, um die linke Hälfte zu generieren.
quelle
←_↘
kann nur sein ,↓_
aber in der Tat kann man füllen , nachdem Sie für 16 Bytes reflektieren:__↗¹←↑¹↖²↓_‖M←¤S
.¤
Gelee ,
2422 BytesProbieren Sie es online!
Wie?
quelle
ṃ
für die längste Erklärung eines einzelnen Bytes.Sed, 43 Zeichen
Probelauf:
quelle
JavaScript (ES6),
534947 BytesIch bin mir sicher, dass ich ein bisschen mehr herausholen kann - es
\
nervt mich, dem s entkommen zu müssen .s=c+c
Variablenbelegung innerhalb der ersten Menge von{}
.c+=c
anstelle vons=c+c
&s=s+s
wurden 2 Bytes gespart , was zum Teil Neil zu verdanken ist, der diese Verbesserung zur gleichen Zeit wie ich bemerkte.Malen Sie Ihre Selbst!
Code-Snippet anzeigen
quelle
<pre><code>
s einfügen. Gute Arbeit.pre
.c+=c
?f=\n
Teil für die Byteanzahl nicht zählen. Nur so läuft das Snippet.Alice ,
5352 Bytes, nicht konkurrierendVielen Dank an Leo für das indirekte Speichern von 1 Byte.
Probieren Sie es online!
Leider musste ich einen Fehler mit
y
(Transliteration) beheben , damit dies funktioniert. Daher habe ich ihn als nicht konkurrierend markiert.Erläuterung
Die Grundidee besteht darin, eine Zeichenfolge aus dem Ei zu erstellen, jedoch
~
als Platzhalter für zwei Kopien der Eingabe. Die anderen Zeichen der Eingabe sind jedoch nicht besonders für Alice-Zeichenfolgen geeignet, da diese keine Zeilenvorschübe enthalten können und alle einen Escape-Befehl/\_|
benötigen (da sie wie Spiegel und Wände behandelt werden). Ich kann also einige Bytes sparen, indem ich auch für diese Platzhalter verwende und sie dann transliteriere. Die Platzhalter für/\_|
sind.[^{
, die einfach das Zeichen sind , das direkt vor dem steht, das sie darstellen. Für den Zeilenvorschub verwende ich}
.Nun ist der Code ... das gesamte Programm kann im Ordinal-Modus gelöst werden, da wir nur eine String-Verarbeitung und keine Verarbeitung von ganzen Zahlen benötigen. Darüber hinaus benötigen wir keinen bedingten Kontrollfluss. Das gesamte Programm kann linear ausgedrückt werden. Die allgemeine Struktur des Programms ist wie folgt:
In einem solchen Programm springt die IP durch den
...
Abschnitt nach oben und unten und führt zunächst nur die Hälfte der Zeichen aus. Dann verschieben die beiden/
am Ende die IP um eine Zelle nach rechts, so dass sie auf dem Rückweg die andere Hälfte ausführt (wieder auf und ab hüpfen), bis@
das Programm schließlich beendet wird. Wenn wir also die lustige Zick-Zack-Struktur in der Mitte aufklappen, sieht das Programm, das wir ausführen, wirklich so aus:Lass uns das durchgehen:
quelle
PowerShell ,
504948 BytesProbieren Sie es online!
Einfaches Ersetzen der Zeichenfolge in eine Literalzeichenfolge. Nicht viel Platz zum Golfen.
-1 Byte dank HyperNeutrino; -1 Byte dank Wubs
quelle
Karotte , 34 Bytes, nicht konkurrierend
Nicht konkurrierend, weil ich gerade einen Fehler behoben habe, bei dem der Interpreter in führenden Leerzeichen nicht angezeigt wurde.
Probieren Sie es hier online aus .
Zunächst befinden wir uns im Caret-Modus, in dem jedes Zeichen auf den "Stapel" verschoben wird. Und schließlich wird der "Stapel" als Ausgabe gedruckt.
Drückt im Caret-Modus
#
die Eingabe, sodass die Instanzen von#
im Wesentlichen durch die Eingabe ersetzt werden (FYI#
ist ein Ein-Byte-Cat-Programm).quelle
SOGL V0.12 ,
211816 BytesProbieren Sie es hier aus!
Das ganze Programm ist wie folgt komprimiert:
wo
ŗ
wird mit der Eingabe ersetzt.13 Bytes funktioniert fast auch, aber es macht unnötige Dinge mit bestimmten Eingaben.
quelle
@,ŗ -@ŗ
05AB1E ,
343332 BytesProbieren Sie es online!
Erläuterung
quelle
•jÀňiXƒÐ[Z•6B6ôvy5ÝJ"_ |/\"¹«‡,
für 32, aber ganz anders. Das hat mich gefälscht und mich denken lassen, ich könnte Palindrom verwenden ... Verdammt, das())(
und/\\/
sind Palindrome.Python 3.6 , 53 Bytes
x
und eine Zeichenfolge zurückgibt..format()
- die{}
beigefügten Teile des F-Strings sind zu bewertender Code.Ich kann jedoch keinen Online-Interpreter für Python 3.6 finden.Versuchen Sie es bei repl.it (sagt 3.5, aber es ist 3.6)
quelle
Retina 0.8.2 ,
4341 Bytes-2 Bytes dank Kevin Cruijssen
Probieren Sie es online!
quelle
Brainfuck -
257 Bytes181 BytesGolf: Live-Version hier klicken
Ich bin allerdings kein Profigolfer. Soweit ich mich erinnern kann, ist dies mein Versuch: D
Ausgabe:
Ungolfed (+ Kommentare):
quelle
05AB1E ,
322926 Bytes (Dank an Emigna / Adnan)Probieren Sie es online!
29 byte version
05AB1E , 29 Bytes (Emigna)
Probieren Sie es online 2!
26-Byte-Erweiterung von Emignas Vorschlag, wobei S verwendet wird, um die Zeichen in ein Array zu trennen, und dann a [b], um jede Ziffer mit der entsprechenden Stelle im vorherigen Array zu interpolieren. Dies ist im Wesentlichen eine elementweise Transliteration (smart).
05AB1E , 26 Byte (Adnan)
Probieren Sie es online 3!
quelle
Sè
- hinterhältig hinterhältig ...Admigna
ich würde die Sprache ohne Ihre beiden ständigen Beispiele nicht wirklich verstehen.PHP, 51 Bytes
PHP, 58 Bytes ohne physikalische Zeilenumbrüche
Führen Sie dies mit
-R
Option aus61 Bytes
quelle
-R
ist kein Parameter, es ist eine Option.man php
nennt sie jedoch Parameter : "Es ist auch möglich, die Standardeingabe zeilenweise mit dem Parameter -R oder -F zu verarbeiten."BF,
142-140BytesDies ist aus Gründen der Klarheit auf zwei Zeilen aufgeteilt. Der Zeilenumbruch wird nicht gezählt.
Es ist ziemlich einfach, solche Dinge in BF zu schreiben, aber es ist nicht trivial, die Reihenfolge der Zellen zu optimieren, um die Bewegung zu minimieren. Ich habe ein Brute-Forcer-Skript geschrieben, um alle Kombinationen auszuprobieren und die kürzeste zu finden, und ich habe ein bisschen Golf gespielt, um eine Golfgelegenheit zu berücksichtigen, die ich nicht in den Brute-Forcer aufgenommen hatte.
quelle
Brainfuck , 114 Bytes
Probieren Sie es online!
Ich habe BF Crunch hier verwendet, um einen optimaleren Weg zu finden, um die einzelnen Charaktere zu generieren.
quelle
C (GCC) ,
958885 BytesVielen Dank an Albert für -7 Bytes
Dank auch an Ceilingcat -3 Bytes
Probieren Sie es online!
quelle
*q
einfach direkt in Ihrer for-Schleife, um 5 Bytes zu sparen.char*s;f(c){for(s=" __\n /11\\\n/1111\\\n|1111|\n\\____/\n";*s;putchar(*s^49?*s:c),s++);}
*s
der for-Schleife Folgendes deklarieren :f(c){for(char*s=" __\n /11\\\n/1111\\\n|1111|\n\\____/\n";*s;putchar(*s^49?*s:c),s++);}
1
ist49
in ASCII, aber das sind 2 Bytes. Verwenden Sie einen Wert zwischen 0 und 9, zum Beispiel ist das Tabellierungszeichen `` ein ASCII-Wert9
.*s;f(c){for(s
stattdessen vorf(c){for(int*
SpecBAS - 70 Bytes
?
ist eine Abkürzung fürPRINT
befehl und ein Apostroph bewegt den Cursor in die nächste Zeile.quelle
Röda , 46 Bytes
Probieren Sie es online!
quelle
Python, 59 Bytes
quelle
Lua, 66 Bytes
((([[#Geschafft]])))
quelle
Retina , 41 Bytes
Probieren Sie es online!
quelle
Japt , 35 Bytes
Probieren Sie es online!
41-Byte-Lösung:
Probieren Sie es online!
quelle
d
ein Byte kürzer ist.[R], 65 Bytes
Ziemlich unspektakulär, finden Sie eine kürzere in R ... Es ist Ihre grundlegende gsub
quelle
C ++ 208 Bytes
Als Antwort auf Kommentare: Dies ist eine vollständige Neuveröffentlichung.
quelle
C # , 56 Bytes
Golf gespielt
Ungolfed
Ungolfed lesbar
Vollständiger Code
Releases
56 bytes
- Anfangslösung.Anmerkungen
Die gedruckten Ergebnisse innerhalb des angegebenen Links sehen nicht so aus, als ob sie vorgetäuscht wären, da die verwendete Schriftart keine Monospace-Schrift ist.
quelle
C (gcc) 87 Bytes
printf ohne stdio.h verursacht Warnungen, aber keine Fehler und ermöglicht eine erfolgreiche Kompilierung.
Erläuterung
Printf-Anweisung, die alles in eine Zeile packt und das Dekorationszeichen mit% c formatiert.
Probieren Sie es online aus
quelle
C (gcc) 84 Bytes
Probieren Sie es online!
quelle