A 123DiceRoller ingyenes online kockadobó, amely valósághű 3D kockákkal dob a böngésződben. Úgy készült, hogy pártatlan, gyors és adatkímélő legyen: az eredményeket kriptográfiailag biztonságos véletlenszám-generátor adja, a kockák valódi fizikával gurulnak, és sem rólad, sem a dobásaidról nem kerül semmi szerverre.
Így működik egy dobás, lépésről lépésre
- Először a számokat sorsoljuk ki. A böngésződ Web Crypto API-ja (
crypto.getRandomValues) minden kockához ad egy véletlen 32 bites számot. Ezt elutasító mintavételezéssel alakítjuk át egy oldallá – azokat a húzásokat, amelyek az alacsony oldalakat egy hajszálnyival valószínűbbé tennék, eldobjuk –, így egy N oldalú kocka minden oldalának pontosan 1/N az esélye. - Szimuláljuk a dobást. Egy merevtest-fizikai motor (cannon-es) az asztalra dobja a kockákat, gravitációval, súrlódással, pattogással és a kockák egymásnak ütközésével. A teljes dobás a másodperc töredéke alatt kiszámolódik, még mielőtt megjelenne.
- A kockákat a számhoz forgatjuk. Minden kockaforma szimmetrikus: egy d20-at 60 különböző módon lehet elforgatni úgy, hogy ugyanúgy nézzen ki. A kockadobó kiválasztja azt az egy elforgatást, amely a kisorsolt számot oda viszi, ahová a fizika a felső lapot tette, és már az első képkockától alkalmazza. A mozgás valódi; a szám pedig már előre, pártatlanul eldőlt.
- A ferdén megálló kockákat újradobjuk. Ha valamelyik kocka egy másiknak dőlve állna meg, a dobást észrevétlenül megismételjük, ahogy egy valódi asztalnál is újradobást kérnének.
- Végül lejátsszuk a dobást árnyékokkal, tükröződésekkel és minden ütközéshez időzített hanggal.
Miért nem a fizika választja ki a számot?
Mert a szimuláció nem pártatlan véletlenforrás. A kiinduló helyzet, az időlépés és a kerekítés apró részletei miatt egyes oldalak gyakrabban jöhetnek fel, mint mások, és senki sem tudja bizonyítani, hogy ez nem így van. A kriptográfiai generátort úgy tervezték és tesztelték, hogy kiszámíthatatlan és egyenletes legyen. Ha a kettőt szétválasztjuk, mindkettő előnyeit megkapod: egy dobást, amely valódinak látszik és hangzik, és egy eredményt, amelyben megbízhatsz.
Pontos valószínűségek
Az egyes dobásoknál mutatott esélyeket kiszámoljuk, nem megbecsüljük. Az összegeket konvolúcióval, kockáról kockára számoljuk, a megtartásos vagy elhagyásos dobásokat – például az előnyt – pedig minden különböző kimenetel megszámolásával. A módszert az esélyszámító oldal magyarázza el.
Amire épül
- three.js a 3D megjelenítéshez (MIT-licenc)
- cannon-es a fizikához (MIT-licenc)
- Egyszerű PHP a szerveren, adatbázis, fiókok és követés nélkül
Mindkét könyvtárat erről az oldalról töltjük be, nem külső CDN-ről, így az oldal soha nem tölt be kódot máshonnan.
A 123 család tagja
A 123DiceRoller mellett ott van a 123Calculator és a többi ingyenes, regisztráció nélkül használható eszközünk. Kérdésed, ötleted van, vagy hibát találtál? Írj nekünk: hello@123diceroller.com.
Utoljára frissítve: