Finden Sie es nicht attraktiv genug, einfachen Text zu lesen? Probier unser
##### ### ### ##### ##### ##### ##### # # ##### #
# # # # # # # # # # # # #
##### ### # # # # #### # # #
# # # # # # # # # # # #
# # ### ### ##### ##### # ##### # # # #
Viel ausgefallener, nicht wahr? Aber es ist ziemlich lang, von Hand zu schreiben, es wäre wunderbar, wenn jemand ein Programm machen würde, das es für mich macht!
Wenn Sie mir freiwillig helfen, besteht Ihre Aufgabe darin, ein Programm oder eine Funktion zu schreiben, die [a-zA-Z\s\n]
nur eine Zeichenfolge enthält , und die ASCII-Schrift davon auszugeben (oder zurückzugeben)!
Sie müssen das folgende Alphabet verwenden, um Ihre Ausgabe zu formatieren:
##### #### ### #### ##### ##### ### # # ##### ##### # # # # #
# # # # # # # # # # # # # # # # # # ## ##
##### #### # # # #### #### # ## ##### # # ### # # # #
# # # # # # # # # # # # # # # # # # # # # #
# # #### ### #### ##### # ### # # ##### ### # # ##### # #
# # ### #### ### #### ### ##### # # # # # # # # # # #####
## # # # # # # # # # # # # # # # # # # # # # #
# # # # # #### # # #### ### # # # # # # # # # # #
# ## # # # # ## ## # # # # # # ## ## # # # #
# # ### # #### # # ### # ### # # # # # # #####
Der Raum:
|
| it's a 5x5 square of spaces
| but had to pad it with |s to make it appear in this post
|
|
Da es sich um eine Schriftart mit fester Breite handelt, wird das Leerzeichen auch von Leerzeichen umgeben, was zu einem 7-fachen Abstand zwischen den beiden Buchstaben führt.
a b
1234567 -- these numbers are just for the example, you don't have to output them
##### ####
# # # #
##### ####
# # # #
# # ####
a b
1234567890123
##### ####
# # # #
##### ####
# # # #
# # ####
Wenn Sie auf eine neue Zeile stoßen, wie in der Eingabe
ascii
text
Stellen Sie einfach sicher, dass die beiden Textblöcke durch mindestens eine Leerzeile voneinander getrennt sind
##### ### ### ##### #####
# # # # # # #
##### ### # # #
# # # # # # #
# # ### ### ##### #####
##### ##### # # #####
# # # # #
# #### # #
# # # # #
# ##### # # #
Sie können das #
s auch durch ein beliebiges anderes Zeichen ersetzen, sofern es sich im druckbaren ASCII-Bereich befindet und keine Leerzeichen enthält. Sie könnten zum Beispiel A
s für den Buchstaben A, B
für den Buchstaben B usw. verwenden.
Da es sich um Code-Golf (und darüber hinaus um Kolmogorov-Komplexität ) handelt, ist der Gewinner derjenige, der diese Herausforderung im kleinstmöglichen Byte löst. Viel Spaß!
quelle
Antworten:
Python 3, 375 Bytes
Sehen Sie sich diesen Code auf ideone.com an.
Derselbe Code, aber irgendwie gut eingerückt, formatiert und kommentiert:
Ich habe mich auch für die Base-36- Codierung entschieden, da dies die höchste Basis ist, die Python
int()
nativ unterstützt. Hier ist ein kurzes Python 3-Skript, das ich geschrieben habe (ungolfed) und das Schriftdefinitionen wie in der Frage in Base 36-Codes umwandelt : Mein Konverter auf ideone.comDas Ergebnis besteht aus dem Zeichen
1
als aktiviertem Pixel und einem Leerzeichenals deaktiviertem Pixel. Hier ist ein einziger Beispiellauf:
Eingabe (Zeilenumbruch als
\n
):Ausgabe:
quelle
Clojure, 552 Bytes
Jeder Buchstabe in ASCII wird als binäre Zeichenfolge mit # - 1, Leerzeichen - 0 dargestellt. Anschließend wird er in Basis 36 konvertiert, sodass zum Speichern von + ":" nur 5 Zeichen erforderlich sind, damit Clojure weiß, dass er als Symbol behandelt werden soll. Dann wird die Eingabe nach Zeilenumbruchsymbolen aufgeteilt und für jede Zeile wird ein Buchstabe in der Basis 36 zurück in die Binärbasis konvertiert und es werden die ersten [0: 5] Symbole hinzugefügt, die nächsten [5:10] Symbole und so weiter.
Sie können es hier sehen - https://ideone.com/y99ST5
quelle
SOGL , 137 Bytes (nicht konkurrierend)
Erläuterung:
Hinweis: Derzeit kann diese Sprache keine mehrzeiligen Eingabezeichenfolgen akzeptieren. Daher habe ich sie nach einer Zahl fragen lassen und die nächsten x Zeilen als Eingabe gelesen.
Die erste Zeichenfolge ist
komprimiert mit einem benutzerdefinierten Wörterbuch, das "" und "-" verwendet (die Komprimierung verfügt über einen speziellen Modus mit "\ n - | / _", sodass noch mehr Komprimierung möglich ist!).
Es enthält 25 Zeichen pro ASCII-Zeichen in der Reihenfolge des Alphabets. Sie sind von oben nach unten und dann rechts angeordnet.
Die Zeichen gehen wie
und das ist der gleiche Weg,
┼
der sie zu einem Array hinzufügt.quelle
foo\nbar
für mehrzeilige EingabenPowershell,
261253 BytesTestskript:
Ausgabe:
Hinweis:
$s|% *per|% t*y
ist eine Abkürzung für$s|% toUpper|% toCharArray
Über den Weltraum:
Für jedes Zeichen der Quellzeichenfolge entnimmt das Skript ein Symbol (Bitmaske) aus der magischen Zeichenfolge
'_ONO__NQ...'
. Der Index geht jedoch über die magische Zeichenfolge für ein Leerzeichen hinaus. In diesem Fall die Bitmaske$c
leer. Es bedeutet Null für alle Bits.Über Leerzeile:
Das Skript zeigt für jedes Symbol 6 statt 5 Zeilen an. Der Index geht auch für eine Leerzeile über die magische Zeichenfolge hinaus. Die Zeile 6 enthält also nur Leerzeichen.
Am besten ist es, wenn Sie anstelle eines Leerzeichens ein anderes Zeichen drucken. Zum Beispiel
·
.quelle
C (gcc) , 326 Bytes
Ein erster Versuch. Musste stdio.h und string.h in TIO einbinden, wird aber bei MinGW nicht benötigt.
Probieren Sie es online!
quelle
JavaScript (ES6),
292287278 ByteDemo
Code-Snippet anzeigen
quelle