123DiceRoller je bezplatný online simulátor kostek, který ve tvém prohlížeči hází realistickými 3D kostkami. Je postavený tak, aby byl férový, rychlý a šetrný k soukromí: výsledky pocházejí z kryptograficky bezpečného generátoru náhodných čísel, kostky se házejí se skutečnou fyzikou a nic o tobě ani o tvých hodech se neposílá na server.
Jak hod funguje, krok za krokem
- Nejdřív se vylosují čísla. Pro každou kostku dodá Web Crypto API tvého prohlížeče (
crypto.getRandomValues) náhodné 32bitové číslo. To se převede na stěnu metodou zamítání (losy, které by nízkým stěnám nepatrně zvýšily šanci, se zahodí), takže každá stěna kostky s N stěnami má přesně šanci 1 z N. - Hod se nasimuluje. Fyzikální engine pro tuhá tělesa (cannon-es) hodí kostky na stůl s gravitací, třením, odrazy a srážkami mezi kostkami. Celý hod se spočítá za zlomek sekundy, ještě než se zobrazí.
- Kostky se natočí, aby odpovídaly. Každý tvar kostky je symetrický: k20 jde natočit 60 různými způsoby a vypadá pořád stejně. Simulátor vybere to jediné natočení, které přesune vylosované číslo na stěnu, jež podle fyziky skončí nahoře, a použije ho hned od prvního snímku. Pohyb je skutečný; číslo ale bylo rozhodnuto už předem – a férově.
- Kostky ležící nakřivo se hodí znovu. Kdyby se některá kostka zastavila opřená o jinou, hod se neviditelně zopakuje, stejně jako by se u skutečného stolu házelo znovu.
- Hod se přehraje se stíny, odlesky a zvukem načasovaným na každý náraz.
Proč nenechat číslo vybrat fyziku?
Protože simulace není férový zdroj náhody. Drobnosti ve výchozí poloze, časovém kroku a zaokrouhlování můžou způsobit, že některé stěny padají častěji než jiné, a nikdo nedokáže, že se to neděje. Kryptografický generátor je navržený a otestovaný tak, aby byl nepředvídatelný a rovnoměrný. Když se obojí oddělí, dostaneš to nejlepší z obou světů: hod, který vypadá i zní skutečně, a výsledek, kterému můžeš věřit.
Přesné pravděpodobnosti
Šance zobrazené u každého hodu jsou spočítané, ne odhadnuté. Součty se počítají konvolucí, jedna kostka po druhé, a hody s ponecháním nebo zahozením, jako je výhoda, spočítáním každého odlišného výsledku. Metodu vysvětluje kalkulačka pravděpodobnosti kostek.
Na čem stavíme
- three.js pro 3D vykreslování (licence MIT)
- cannon-es pro fyziku (licence MIT)
- Obyčejné PHP na serveru, bez databáze, bez účtů a bez sledování
Obě knihovny se načítají přímo z tohoto webu, ne z cizího CDN, takže stránka nikdy nenačítá kód odjinud.
Součást rodiny 123
123DiceRoller doplňuje 123Calculator a další naše bezplatné nástroje bez registrace. Máš dotaz, nápad nebo chybu k nahlášení? Napiš na hello@123diceroller.com.
Naposledy aktualizováno