Affiche le résultat aléatoire d'un lancer de dés s'il est effectué avec un dé en forme de cube, en ASCII.
$ dice
devrait se traduire par l'un des
-----
| |
| 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-----');
c'est un programme correct.print("⚀⚁⚂⚃⚄⚅"(util.Random.nextInt(6)))
(utf-art).Réponses:
Golfscript, 56 caractères
La solution peut être testée ici .
la source
Python,
112110caractèresla source
id(0)%7%6
? Ce ne sera pas une distribution uniforme, mais c'est beaucoup plus court ...Ruby 1.9, 80
84caractèresla source
s.reverse
Windows PowerShell, 89
939697101119caractèresla source
Python, 109 caractères unicode
Remarque: Cela n'utilise pas la fonction aléatoire, donc ce ne sera pas aussi aléatoire que les autres.
la source
Perl, 74 caractères
Courez avec
perl -M5.010
.(Notez que les sauts de ligne dans la liste font partie de la chaîne et ne sont pas simplement insérés pour la lisibilité.)
Si vous vous demandez à quoi
$->$
sert l' opération, les notes de lecture suivantes peuvent être utiles:La variable
$-
tronque automatiquement sa valeur affectée à un entier.La variable
$"
est prédéfinie sur un seul espace.o
est un mot simple (représentant"o"
).la source
Golfeur pour la première fois
Python, 161 caractères
la source
Common Lisp 170
Notez que les nouvelles lignes sont importantes. Contrairement à ces langages idiots "modernes", Common Lisp privilégie la lisibilité à la concision, nous avons donc la lourde construction "concaténer" la chaîne ... "et aucun moyen succinct de référencer un caractère dans une chaîne.
la source
JavaScript (
169168141137)Ne semble pas tout à fait correct
alert
car ce n'est pas une police à largeur fixe, mais soyez assuré qu'elle est correcte, ou testez en émettant une<pre>
balise et en faisantwriteln
:-)Preuve: http://jsfiddle.net/d4YTn/3/ (ne fonctionne que dans les navigateurs compatibles JS 1.7, tels que FF2 +)
Crédits:
Math
Astuce piratée de @minitech et logique d'impression de @Keith.Edit : Supprimez l'
Math
astuce de @minitech car cela l'a en fait allongé :-)Édition 2 : enregistrez 17 caractères. Empruntez une astuce à @Keith pour profiter de la symétrie des dés. Utilisez une astuce pour simplifier la conversion d'un nombre aléatoire en entier.
Edit 3 : Supprimer
1+
pour déplacer le nombre aléatoire de 1-6 à 0-5 et enregistrer 2 caractères. Par conséquent, je peux aussi changerr%2-1
pourr%2
et enregistrer 2 autres caractères.Edit 4 : jsfiddle fonctionne à nouveau. Mis à jour :-)
la source
|0
astuce :-)JavaScript,
215213212145135Battre mellamokb, mais j'ai complètement changé ma solution d'origine. Si vous voulez que cela paraisse bien, utilisez Google Chrome ou quelque chose, changez
alert
pourconsole.log
, et voilà.Edit: emprunté à l'astuce | 0 de mellamokb pour sauver certains personnages.
la source
M=Math
astuce que j'ai essayé de voler finit par être un personnage de plus[s.substr(0,3),s.substr(3,3),s.substr(6,3)].join('|\n|')
s
est un tableau. Je vais redémarrer et réessayer.PHP 119
126128131188201 201213234239la source
?>
peut être omise, vous économisant 2 caractères.$r
, en enregistrant un autre caractère. L'espace aprèsecho
peut également être omis. Vous pouvez$a
également aligner l'initialisation de , ce qui vous amène à 128. Mettre des sauts de ligne directement dans la chaîne au lieu de les échapper avec\n
enregistre deux autres caractères.C - 215
Compile avec:
la source
/D
commutateur ... Veuillez ne pas tricher en mettant des définitions aléatoires dans la commande de compilation.Python 133
la source
F # -
165161 caractèresla source
Python 108
114119121122129wtf! ressemble à la 1ère solution?! mais je ne suis pas ... tricheur
108
119
la source
perl -
111103101la source
die
au lieu deprint
/say
APL (69)
la source
Haskell, 154
162167172caractèresIl utilise à peu près la même idée que celle de Python.
Version lisible:
la source
Golfscript
8065Le programme peut être testé ici
la source
PHP 126
127179Une autre solution PHP. Je suis arrivé à la même solution par Oleg.
la source
Python (153)
Ce n'est de loin pas la plus petite soumission, je pensais juste que c'était joli :)
la source
Q (120 caractères)
Usage:
la source
C,
168164163 caractèresDésolé si je suis un peu en retard à la fête, mais comme aucune réponse n'a encore été acceptée et que la seule autre solution C était un peu plus longue, voici ...
Vous pouvez supprimer l'inclusion et enregistrer 18 autres caractères, mais il ne se compile pas sans avertissements.
Edit : en
utilisant l' astuce de ligne de commande de user23241 , le code C le plus court qui produit le résultat (sans avertissements du compilateur) n'est que de 12 caractères:
Au moins si vous trichez et utilisez la ligne de commande suivante pour compiler:
la source
c, 140 caractères
la source
PHP: 1284
C'est mon deuxième CodeGolf, et je ne visais pas autant la brièveté que la mutabilité du code et les critères de jeu.
Vous pouvez générer des dés à 4 faces et 6 faces.
Peut-être plus tard, je vais le raccourcir et le rendre un peu plus dynamique.
Sortie 4 faces:
Sortie 6 faces:
la source
JavaScript 220 octets
la source
Ruby,
134 132 119 118 117 117 112111 car,Mon deuxième golf dans la vie. J'ai utilisé des nombres magiques. Des conseils s'il vous plaît?
Les sorties:
la source
VimScript - 169 caractères
Notez qu'il ne s'agit pas de Vim pur car Vim n'a pas de générateur de nombres aléatoires intégré. Il existe bien sûr des extensions qui peuvent être téléchargées, mais comme je suis un homme Linux inconditionnel, j'ai pensé, pourquoi ne pas simplement compter sur l'environnement shell à la place.
Code
Explication
o
. Notez que cela est censé être optimisé pour le moins de caractères, pas le moins de mouvements (c'est-à-dire qu'il y aurait des façons plus rapides de tourner les frappes si je le faisais manuellement - en faisant leif
s tout dans ma tête).^
n'est pas un littéral^
mais une indication d'une séquence d'échappement.Essai
Passez
RANDOM
àDICEVALUE
, enregistrez le code VimScript dansdice.vim
, puis exécutez ce script shell dessus, en donnant comme arguments les nombres que vous souhaitez tester:la source
Mathematica
166161 146 146143 caractèresExemple de sortie:
Si les accolades de la matrice offensent, vous pouvez remplacer
MatrixForm
parTableForm
dans le code.la source
PHP 5.4, 107 octets
102 octets *
** Malheureusement, la version 102 octets émet des notifications en raison de la conversion de
bool
enint
lors de l'indexation de la chaîne$d
. En dehors de cela, cela fonctionne bien. *la source