Pokaż losowy wynik rzutu kostką, jeśli wykonano to kostką w kształcie kostki, w ASCII.
$ dice
powinien dać jeden z
-----
| |
| 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-----');
jest właściwy program.print("⚀⚁⚂⚃⚄⚅"(util.Random.nextInt(6)))
(utf-art).Odpowiedzi:
Golfscript, 56 znaków
Rozwiązanie można przetestować tutaj .
źródło
Python,
112110 znakówźródło
id(0)%7%6
? Nie będzie to jednolita dystrybucja, ale znacznie krótsza ...Ruby 1.9, 80
84znakówźródło
s.reverse
Windows PowerShell, 89
939697101119znakówźródło
Python, 109 znaków Unicode
Uwaga: Nie używa się funkcji losowej, więc nie będzie tak losowa jak inne.
źródło
Perl, 74 znaki
Uruchom z
perl -M5.010
.(Należy pamiętać, że nowe wiersze na liście są częścią ciągu, a nie tylko wstawiane dla czytelności).
Jeśli zastanawiasz się, co do cholery
$->$
robi operacja, pomocne mogą być następujące uwagi do czytania:Zmienna
$-
automatycznie obcina przypisaną wartość do liczby całkowitej.Zmienna
$"
jest wstępnie ustawiona na pojedynczą spację.o
to jedno słowo (reprezentujące"o"
).źródło
Pierwszy raz golfista
Python, 161 znaków
źródło
Common Lisp 170
Zauważ, że nowe linie są znaczące. W przeciwieństwie do tych głupich „współczesnych” języków, Common Lisp preferuje czytelność nad zwięzłością, więc mamy nieporęczną konstrukcję „konkatenacji łańcucha” ... i nie ma zwięzłego sposobu odwoływania się do znaku w łańcuchu.
źródło
JavaScript (
169168141137)Nie wygląda całkiem dobrze,
alert
ponieważ nie jest to czcionka o stałej szerokości, ale zapewniamy, że jest poprawna, lub przetestuj, emitując<pre>
znacznik i wykonującwriteln
:-)Dowód: http://jsfiddle.net/d4YTn/3/ (działa tylko w przeglądarkach zgodnych z JS 1.7, takich jak FF2 +)
Kredyty:
Math
Zhakowana sztuczka z @minitech i die logika drukowania z @Keith.Edycja : Usuń
Math
lewę z @minitech, ponieważ faktycznie wydłużyła ją :-)Edycja 2 : Zapisz 17 znaków. Pożycz sztuczkę od @Keith za skorzystanie z symetrii kości. Użyj sztuczki, aby uprościć konwersję liczb losowych na int.
Edycja 3 : Usuń,
1+
aby zmienić losową liczbę z 1-6 na 0-5 i zapisać 2 znaki. W rezultacie, można również zmieniaćr%2-1
sięr%2
i zaoszczędzić kolejne 2 znaki.Edycja 4 : jsfiddle znów działa. Zaktualizowano :-)
źródło
|0
sztuczki :-)JavaScript,
215213212145135Pokonałem mellamokb, ale całkowicie zmieniłem swoje oryginalne rozwiązanie. Jeśli chcesz, aby wyglądał dobrze, użyj Google Chrome lub czegoś innego, zmień
alert
naconsole.log
i voilà.Edycja: sztuczka pożyczona przez mellamokb | 0 w celu uratowania niektórych postaci.
źródło
M=Math
sztuczka, którą próbowałem ukraść, kończy się na tym, że jest jedną postacią dłużej[s.substr(0,3),s.substr(3,3),s.substr(6,3)].join('|\n|')
s
jest tablicą. Uruchomię się ponownie i spróbuję ponownie.PHP 119
126128131188201213234239źródło
?>
można pominąć, oszczędzając 2 znaki.$r
, zapisując inną postać.echo
Można również pominąć miejsce po . Możesz także zainicjować inicjalizację$a
, doprowadzając cię do 128. Umieszczenie podziałów linii bezpośrednio w łańcuchu zamiast ucieczki przed nimi za pomocą\n
zapisuje kolejne dwa znaki.C - 215
Kompiluje się z:
źródło
/D
przełącznika ... Proszę nie oszukiwać, wprowadzając losowe definicje do polecenia kompilacji.Python 133
źródło
F # -
165161 znakówźródło
Python 108
114119121122129wtf! wygląda jak 1. rozwiązanie? ale nie jestem ... oszustem
108
119
źródło
perl -
111103101źródło
die
zamiastprint
/say
APL (69)
źródło
Haskell, 154
162167172znakówUżywa mniej więcej tego samego pomysłu co Python.
Wersja do odczytu:
źródło
Golfscript
8065Program można przetestować tutaj
źródło
PHP 126
127179Kolejne rozwiązanie PHP. Doszedłem do prawie tego samego rozwiązania Olega.
źródło
Python (153)
To zdecydowanie nie najmniejsze zgłoszenie, pomyślałem, że ładnie wygląda :)
źródło
Q (120 znaków)
Stosowanie:
źródło
DO,
168164163 znakiPrzepraszam, jeśli jestem trochę spóźniony na imprezę, ale ponieważ żadna odpowiedź nie została jeszcze zaakceptowana, a jedyne inne rozwiązanie C było nieco dłuższe, oto idzie ...
Możesz usunąć dołączenie i zapisać kolejne 18 znaków, ale wtedy nie skompiluje się bez ostrzeżeń.
Edycja :
przy użyciu sztuczki wiersza poleceń użytkownika23241 najkrótszy kod C, który daje wynik (bez ostrzeżeń kompilatora), ma tylko 12 znaków:
Przynajmniej jeśli oszukujesz i używasz następującego wiersza poleceń do kompilacji:
źródło
c, 140 znaków
źródło
PHP: 1284
To mój drugi CodeGolf i tak naprawdę nie dążyłem tak krótko, jak zmienność kodu i dopasowanie kryteriów gry.
Możesz generować 4-stronne kości, a także 6-stronne.
Może później skrócę go i sprawię, że będzie trochę bardziej dynamiczny.
Wyjście 4-stronne:
Wyjście 6-stronne:
źródło
JavaScript 220 bajtów
źródło
Ruby,
134 132 119 118 117 112111 znaków,Mój drugi golf w życiu. Użyłem magicznych liczb. Wszelkie porady proszę?
Wyjścia:
źródło
VimScript - 169 znaków
Zauważ, że to nie jest czysty Vim, ponieważ Vim nie ma wbudowanego generatora liczb losowych. Są oczywiście rozszerzenia, które można pobrać, ale skoro jestem zagorzałym człowiekiem z Linuksa, pomyślałem, dlaczego zamiast tego polegać na środowisku powłoki.
Kod
Wyjaśnienie
o
litery. Zauważ, że ma to być zoptymalizowane pod kątem najmniejszej liczby znaków, a nie najmniejszej liczby ruchów (tj. Byłyby szybsze sposoby na zmianę sekwencji klawiszy, gdybym robił to ręcznie -if
wszystko w mojej głowie).^
nie jest to dosłowne,^
ale wskazanie sekwencji ucieczki.Testowanie
Zmień
RANDOM
naDICEVALUE
, zapisz kod VimScript wdice.vim
, a następnie uruchom na nim ten skrypt powłoki, podając jako argumenty dowolne liczby, które chcesz przetestować:źródło
Mathematica
166161 146143 znakówPrzykładowe dane wyjściowe:
Jeśli szelki matrix obrazić, można wymienić
MatrixForm
zeTableForm
w kodzie.źródło
PHP 5.4, 107 bajtów
102 bajty *
** Niestety, wersja 102-bajtowa wydaje powiadomienia z powodu rzutowania
bool
naint
podczas indeksowania łańcucha$d
. Poza tym działa dobrze. *źródło