Können Sie eine Version des BBC Micro Owl-Logos wie oben beschrieben aus dem Code rendern?
Regeln:
- Sie können eine beliebige Programmiersprache verwenden.
- Die Ausgabe kann als Text oder Grafik erfolgen.
- Kreise müssen sich nicht überlappen.
Gewinner:
- Die Antwort mit den meisten positiven Stimmen gewinnt.
Ein großes Lob für alle, die dies in BBC Basic versuchen.
Über das BBC Micro können Sie hier lesen
popularity-contest
graphical-output
Ben Paton
quelle
quelle
Antworten:
BBC BASIC
Ich habe versucht, mithilfe von Triggerfunktionen richtige Kreise zu zeichnen, aber das war schmerzhaft langsam. Kam stattdessen mit diesem auf:
Hier ist die Ausgabe:
quelle
GolfScript
Der Code druckt eine ASCII-Kunstversion des Logos ( hier ausführen ).
quelle
Mathematica
Nichts als Grunzarbeit.
quelle
R
Ergebnisse in:
Grundsätzlich besteht die Idee darin, die Basis-2-Darstellung der 17 Zahlen (1397760, 567810, 1070336, 141954, 1381696, 133794, 1054036, 559786, 1332560, 557218, 1052756, 131114, 1380368, 139272, 1064964, 557058 und 1398101) zu verwenden. Machen Sie eine 21x17-Matrix aus 1 und 0 und zeichnen Sie die Matrix so, wie sie ist.
quelle
Pov-Ray
'kompilieren mit
povray +Ibbc.pov -Obbc.png +A0.1 +R9 -W240 -H285
quelle
Bash
Da Sie keine externen Ressourcen angegeben haben ...
Howard - hat deine ASCII-Kunst gestohlen, danke.
Oder nachdem ich es hier hochgeladen habe -
quelle
BBC Basic, zufällige Farben, Golf!
149 Zeichen. Ich mag das Golfen nicht besonders (ich bevorzuge die Code-Herausforderungen), aber ich mochte die Lächerlichkeit des Golfspiels in BBC Basic. BBC-Emulator unter http://www.bbcbasic.co.uk/ . Wird im Bildschirmmodus 6 in der Befehlszeile ausgeführt.
FORK = 6TO185S = K MOD9 = 5VDU-32 * (K MOD18 = 15), 17.128 + RND (6) * (ASCMID $ ("? OSUuLEMSS ^ H? = A_W", K / 6,1) / 2 ^ (K MOD6) AND1), 32, 17, 128, 32, -13 * S, -10 * S: NEXT
Erklärung (ungolfed version)
Keine IF-Anweisungen, da der Rest der Zeile nur ausgeführt würde, wenn das IF wahr wäre (um sicherzustellen, dass das NEXT erreicht wurde, müsste ich ein Programm mit Zeilennummern ausführen.) Deshalb habe ich viel ASC (null) verwendet Zeichen) = 0, um die Ausgabe zu steuern. Außerdem musste ich das Pixel in der unteren rechten Ecke abschneiden, damit nach dem Drucken die gesamte Befehlszeile auf dem Bildschirm angezeigt wird (und das sparte 2 Zeichen).
Ich finde es toll, wie BBC basic einen Bezeichner nach FOR erkennt, auch ohne Leerzeichen. FORE, FORD, FORK, FORM, FORS, FORT :-)
quelle
C
ASCII-Ausgabe.
Code-Ausgabe:
quelle
JavaScript -
326307285 Zeichen (ASCII)Wahrscheinlich nicht der kürzeste Code. Ich habe versucht, dem ursprünglichen Logo so nahe wie möglich zu kommen und nur ASCII zu verwenden.
Zum Ausführen: Kopieren und Einfügen in die Javascript-Konsole (z. B. Chrome oder Firefox). Hinweis: Die Ausführung des Skripts kann etwas Zeit in Anspruch nehmen. Wenn Sie also kurz nach dem Drücken der Eingabetaste keine Informationen erhalten, haben Sie etwas Geduld.
quelle
m=Math;
und dann tunm.floor
,m.pow
usw.for
Schleife in eine einwickeltwith (Math)
und dannMath.
bei jedem Auftreten weglässt . Verschieben Sie dies+=
Parts in den For-Loop-Header (nebeny++
/x++
), um einige geschweifte Klammern zu entfernen. Ich denke, es ist typisch,alert
/prompt
für I / O beim Golfen in JS zu verwenden, also würde ichalert(s)
am Ende stattdessen mit gehen.CoffeeScript
Code wird nicht gespielt. Es verwendet einige metaballs -ish Algorithmus „Klebrigkeit“ der Kreise zu simulieren. ASCII-Eule wurde schamlos von anderen Antworten gestohlen :)
Beobachten Sie , wie die coffeescript.org-Dokumentation zerstört wird ( klicken Sie auf Ausführen):
quelle
PHP
Aufbauend auf den zuvor eingereichten ASCII-Grafikversionen des Logos und Verwendung dieser als Array zum Rendern einer grafischen Version unter Verwendung der GD-Bibliothek.
Ergebnisse in:
quelle