Покажите случайный результат броска кубика, если он сделан с кубиком в форме ASCII.
$ dice
должен привести к одному из
-----
| |
| 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-----');
это правильная программа.print("⚀⚁⚂⚃⚄⚅"(util.Random.nextInt(6)))
(utf-art).Ответы:
Golfscript, 56 символов
Решение можно проверить здесь .
источник
Питон,
112110 символовисточник
id(0)%7%6
? Это не будет равномерное распределение, но оно значительно короче ...Руби 1.9, 80
84символовисточник
s.reverse
Windows PowerShell, 89
939697101119символовисточник
Python, 109 символов Юникода
Примечание: здесь не используется случайная функция, поэтому она будет не такой случайной, как у других.
источник
Perl, 74 символа
Беги с
perl -M5.010
.(Обратите внимание, что новые строки в листинге являются частью строки, а не просто вставлены для удобства чтения.)
Если вам интересно, что, черт возьми,
$->$
делает эта операция, вам могут помочь следующие заметки:Переменная
$-
автоматически усекает присвоенное ей значение до целого числа.Переменная
$"
предустановлена на один пробел.o
это голое слово (представляющее"o"
).источник
Первый раз игрок в гольф
Питон, 161 символ
источник
Common Lisp 170
Обратите внимание, что новые строки являются значительными. В отличие от этих глупых «современных» языков, Common Lisp предпочитает удобочитаемость, а не краткость, поэтому мы имеем громоздкую конструкцию «concatenate 'string ...» и не имеем краткого способа ссылаться на символ в строке.
источник
JavaScript (
169168141137)Выглядит не совсем правильно,
alert
потому что это не шрифт с фиксированной шириной, но будьте уверены, что он правильный, или протестируйте, выдав<pre>
тег и выполнивwriteln
:-)Доказательство: http://jsfiddle.net/d4YTn/3/ (работает только в JS 1.7-совместимых браузерах, таких как FF2 +)
Кредиты:
Math
взломанный трюк от @minitech и печать логики от @Keith.Редактирование : Удалить
Math
трюк из @minitech , потому что он на самом деле сделал это больше :-)Изменить 2 : сохранить 17 символов. Взять трюк от @Keith для использования симметрии костей. Используйте трюк для упрощения преобразования случайного числа в int.
Редактировать 3 : Удалить,
1+
чтобы изменить случайное число от 1-6 до 0-5 и сохранить 2 символа. В результате, я могу также изменить ,r%2-1
чтобыr%2
и сохранить еще 2 символов.Редактировать 4 : jsfiddle снова работает. Обновлено :-)
источник
|0
трюк :-)JavaScript,
215213212145135Удар мелламокб, но я полностью изменил свое первоначальное решение. Если вы хотите, чтобы это выглядело хорошо, используйте Google Chrome или что-то еще, измените
alert
наconsole.log
и вуаля.Редактировать: заимствовал трюк mellamokb | 0, чтобы спасти некоторых персонажей.
источник
M=Math
трюк, который я пытался украсть, на самом деле оказывается на один символ длиннее[s.substr(0,3),s.substr(3,3),s.substr(6,3)].join('|\n|')
s
это массив. Я собираюсь перезагрузить и попробовать еще раз.PHP 119
126128131188201213234239источник
?>
может быть опущено, сохраняя вас 2 символа.$r
, сохраняя другой символ. Пробел послеecho
может быть также опущен. Вы можете встроить инициализацию$a
тоже, доведя вас до 128. Помещение разрывов строк непосредственно в строку вместо их экранирования с\n
сохранением еще двух символов.С - 215
Компилируется с:
источник
/D
переключателя ... Пожалуйста, не обманывайте, помещая случайные определения в команду компиляции.Python 133
источник
F # -
165161 символовисточник
Питон 108
114119121122129WTF! выглядит как 1-е решение ?! но я не ... мошенник
108
119
источник
Perl -
111103101источник
die
вместоprint
/say
APL (69)
источник
Haskell, 154
162167172символаОн использует примерно ту же идею, что и Python.
Читаемая версия:
источник
Golfscript
8065Программу можно протестировать здесь
источник
PHP 126
127179Другое решение PHP. Я пришел почти к тому же решению от Олега.
источник
Питон (153)
Это далеко не самое маленькое представление, я просто думал, что это выглядело хорошо :)
источник
Q (120 символов)
Использование:
источник
C,
168164163 символаИзвините, если я немного опоздал на вечеринку, но так как ответ еще не был принят, и единственное другое решение C было несколько длиннее, здесь идет ...
Вы можете удалить include и сохранить еще 18 символов, но тогда он не скомпилируется без предупреждений.
Редактировать :
используя трюк командной строки user23241 , самый короткий код C, который дает результат (без предупреждений компилятора), составляет всего 12 символов:
По крайней мере, если вы читер и используете следующую командную строку для компиляции:
источник
с, 140 символов
источник
PHP: 1284
Это мой второй CodeGolf, и я на самом деле не стремился к краткости, так как изменчивость кода и соответствие игровым критериям.
Вы можете создавать 4-х сторонние кости, а также 6-ти сторонние.
Возможно, позже я укоротю его и сделаю немного более динамичным.
Выход 4-х сторонний:
Выход 6-ти сторонний:
источник
JavaScript 220 байт
источник
Рубин,
134 132 119 118 117 112111 символов,Мой второй гольф в жизни. Я использовал магические числа. Любые советы, пожалуйста?
Выходы:
источник
VimScript - 169 символов
Обратите внимание, что это не чистый Vim, поскольку Vim не имеет встроенного генератора случайных чисел. Конечно, для него можно скачать расширения, но, поскольку я - преданный Linux, я подумал, почему бы просто не полагаться на среду оболочки.
Код
объяснение
o
. Обратите внимание, что это должно быть оптимизировано для наименьшего количества символов, а не для наименьшего количества движений (то есть, если бы я делал это вручную, были бы более быстрые способы нажатия клавиш)if
в моей голове).^
это не литерал,^
а указание на escape-последовательность.тестирование
Измените
RANDOM
наDICEVALUE
, сохраните код VimScriptdice.vim
, затем запустите на нем этот сценарий оболочки, указав в качестве аргументов любые числа, которые вы хотите проверить:источник
Mathematica
166161 146143 символовПример вывода:
Если фигурные скобки матрицы обижать, вы можете заменить
MatrixForm
сTableForm
в коде.источник
PHP 5.4, 107 байт
102 байта *
** К сожалению, 102-байтовая версия выдает уведомления из-за приведения
bool
кint
при индексации строки$d
. Кроме этого, он отлично работает. *источник