Zeigen Sie das zufällige Ergebnis eines Würfelwurfs in ASCII, wenn Sie einen würfelförmigen Würfel verwenden.
$ dice
sollte zu einem von führen
-----
| |
| o |
| |
-----
-----
|o |
| |
| o|
-----
-----
|o |
| o |
| o|
-----
-----
|o o|
| |
|o o|
-----
-----
|o o|
| o |
|o o|
-----
-----
|o o|
|o o|
|o o|
-----
alert('-----\n|o o|\n| |\n|o o|\n-----');
ist ein richtiges Programm.print("⚀⚁⚂⚃⚄⚅"(util.Random.nextInt(6)))
(utf-art) anbieten .Antworten:
Golfscript, 56 Zeichen
Die Lösung kann hier getestet werden .
quelle
Python,
112110 Zeichenquelle
id(0)%7%6
? Es wird keine einheitliche Verteilung sein, aber es ist deutlich kürzer ...Ruby 1.9, 80
84Zeichenquelle
s.reverse
Windows PowerShell, 89
939697101119Zeichenquelle
Python, 109 Unicode-Zeichen
Hinweis: Diese Funktion verwendet keine Zufallsfunktion, daher ist sie nicht so zufällig wie andere.
quelle
Perl, 74 Zeichen
Laufen Sie mit
perl -M5.010
.(Beachten Sie, dass die Zeilenumbrüche in der Auflistung Teil der Zeichenfolge sind und nicht nur der Lesbarkeit halber eingefügt werden.)
Wenn Sie sich fragen, was zum Teufel die
$->$
Operation bewirkt, können die folgenden Lesehinweise hilfreich sein:Die Variable
$-
schneidet den zugewiesenen Wert automatisch auf eine Ganzzahl ab.Die Variable
$"
ist auf ein einzelnes Leerzeichen voreingestellt.o
ist ein Barewort (darstellend"o"
).quelle
Zum ersten Mal Golfspieler
Python, 161 Zeichen
quelle
Common Lisp 170
Beachten Sie, dass die Zeilenumbrüche von Bedeutung sind. Im Gegensatz zu diesen albernen "modernen" Sprachen bevorzugt Common Lisp die Lesbarkeit gegenüber der Prägnanz. Wir haben also das umständliche Konstrukt "Verkettung" ... und keine prägnante Möglichkeit, auf ein Zeichen in einer Zeichenfolge zu verweisen.
quelle
JavaScript (
169168141137)Sieht nicht ganz richtig in ,
alert
weil es nicht Schrift mit fester Breite, aber sicher sein , es richtig ist , oder Test durch einen Emissions<pre>
Tag und tunwriteln
:-)Beweis: http://jsfiddle.net/d4YTn/3/ (funktioniert nur in JS 1.7-kompatiblen Browsern wie FF2 +)
Credits: Hacked
Math
Trick von @minitech und die Printlogik von @Keith.Edit : Entferne den
Math
Trick von @minitech, weil er es tatsächlich länger gemacht hat :-)Edit 2 : Speichern Sie 17 Zeichen. Leihen Sie sich einen Trick von @Keith aus, um die Würfelsymmetrie zu nutzen. Verwenden Sie den Trick, um die Umwandlung von Zufallszahlen in int zu vereinfachen.
Bearbeiten 3 : Entfernen
1+
, um die Zufallszahl von 1-6 auf 0-5 zu verschieben und 2 Zeichen zu speichern. Infolgedessen kann ich auchr%2-1
zur%2
weiteren 2 Zeichen wechseln und diese speichern.Edit 4 : jsfiddle arbeitet wieder. Aktualisiert :-)
quelle
|0
Trick :-)JavaScript,
215213212145135Beat mellamokb, aber ich habe meine ursprüngliche Lösung komplett geändert. Wenn Sie möchten, dass dies gut aussieht, verwenden Sie Google Chrome oder etwas anderes, und wechseln Sie
alert
zuconsole.log
und voilà.Bearbeiten: Mellamokbs | 0-Trick ausgeliehen, um einige Charaktere zu speichern.
quelle
M=Math
Trick, den ich zu stehlen versucht habe, endet tatsächlich damit, dass er einen Charakter länger ist[s.substr(0,3),s.substr(3,3),s.substr(6,3)].join('|\n|')
s
ist ein Array. Ich werde neu starten und es erneut versuchen.PHP 119
126128131188201213234239quelle
?>
kann weggelassen werden, wodurch Sie 2 Zeichen sparen.$r
und ein anderes Zeichen speichern. Der Raum danachecho
kann auch weggelassen werden. Sie können auch die Initialisierung von inline setzen$a
und gelangen auf 128. Wenn Sie Zeilenumbrüche direkt in die Zeichenfolge einfügen, anstatt sie mit einem\n
Escapezeichen zu versehen, werden zwei weitere Zeichen gespeichert.C - 215
Kompiliert mit:
quelle
/D
Schalter nicht ... Bitte betrügen Sie nicht, indem Sie zufällige Definitionen in den Kompilierungsbefehl einfügen.Python 133
quelle
F # -
165161 Zeichenquelle
Python 108
114119121122129wtf! sieht aus wie 1. Lösung?! aber ich bin nicht ... Betrüger
108
119
quelle
perl -
111103101quelle
die
anstelle vonprint
/say
APL (69)
quelle
Haskell, 154
162167172ZeichenEs verwendet ungefähr die gleiche Idee wie das Python.
Lesbare Version:
quelle
Golfscript
8065Das Programm kann hier getestet werden
quelle
PHP 126
127179Eine andere PHP-Lösung. Ich bin zu der fast gleichen Lösung von Oleg gekommen.
quelle
Python (153)
Dies ist bei weitem nicht die kleinste Einreichung, ich dachte nur, es sah gut aus :)
quelle
Q (120 Zeichen)
Verwendung:
quelle
C,
168164163 ZeichenTut mir leid, wenn ich ein bisschen zu spät zur Party komme, aber da noch keine Antwort angenommen wurde und die einzige andere C-Lösung etwas länger war, geht es hier ...
Sie können das Include entfernen und weitere 18 Zeichen speichern, es wird dann jedoch nicht ohne Warnung kompiliert.
Bearbeiten :
Mit dem Befehlszeilentrick von user23241 ergibt der kürzeste C-Code (ohne Compiler-Warnungen) nur 12 Zeichen:
Zumindest, wenn Sie schummeln und die folgende Befehlszeile zum Kompilieren verwenden:
quelle
c 140 Zeichen
quelle
PHP: 1284
Dies ist mein zweiter CodeGolf und ich habe nicht so sehr auf Kürzheit als auf Code-Veränderbarkeit und Übereinstimmung mit den Spielekriterien geachtet.
Sie können sowohl 4-seitige als auch 6-seitige Würfel erzeugen.
Vielleicht werde ich es später kürzen und etwas dynamischer machen.
Ausgang 4 seitig:
Ausgang 6 seitig:
quelle
JavaScript 220 Bytes
quelle
Ruby,
134 132 119 118 117 112111 Zeichen,Mein zweiter Golf im Leben. Ich habe magische Zahlen benutzt. Irgendwelche Ratschläge bitte?
Ausgänge:
quelle
VimScript - 169 Zeichen
Beachten Sie, dass dies kein reines Vim ist, da Vim keinen eingebauten Zufallszahlengenerator hat. Es gibt natürlich Erweiterungen, die dafür heruntergeladen werden können, aber da ich ein eingefleischter Linux-Mann bin, dachte ich mir, warum verlasse ich mich nicht stattdessen nur auf die Shell-Umgebung.
Code
Erläuterung
o
Formflächen aus. Beachten Sie, dass dies für die geringste Anzahl von Zeichen optimiert werden soll, nicht für die geringste Anzahl von Bewegungen (dh, es gäbe schnellere Wege bei Tastenanschlägen, wenn ich es manuell machen würde - indem ich das mache)if
alles in meinem Kopf).^
handelt es sich nicht um ein Literal,^
sondern um einen Hinweis auf eine Escape-Sequenz.Testen
Wechseln Sie
RANDOM
zuDICEVALUE
, speichern Sie den VimScript-Code indice.vim
und führen Sie dieses Shell-Skript darauf aus. Geben Sie als Argumente die Zahlen an, die Sie testen möchten:quelle
Mathematica
166161 146143 ZeichenBeispielausgabe:
Wenn die Matrix Klammern beleidigen, können Sie
MatrixForm
mitTableForm
im Code ersetzen .quelle
PHP 5.4, 107 Bytes
102 Bytes *
** Leider gibt die 102-Byte-Version Hinweise aufgrund des Castings von
bool
toint
beim Indizieren des Strings$d
. Ansonsten funktioniert es einwandfrei. *quelle