Přeskočit na hlavní obsah

Hod mincí a roztočení kola zdarma

Hoďte virtuální mincí, otočte přizpůsobitelné kolo nebo náhodně vyberte ze seznamu možností. Používá kryptograficky bezpečnou náhodnost vašeho prohlížeče — není to ověřitelné veřejné losování, takže se vyhýbejte regulovaným soutěžím.

Funguje offline po načtení

🔒 Všechny tři používají kryptograficky bezpečný generátor náhodnosti vašeho prohlížeče: výsledek je vybrán jako první a poté animován — mince je skutečná 50/50, kolo se otáčí na svůj již vybraný výsledek a výběr je nestranný. Z vašeho zařízení nic neunikne. To je spravedlivé pro příležitostné použití, ale není to ověřitelné veřejné losování, takže se vyhýbejte regulovaným soutěžím nebo rozhodnutím o vysoké hodnotě.

Běžná použití

  • Hoď Minci pro rozhodnutíPouži spravedlivý virtuální hod mincí pro rychlá, nestranná rozhodnutí, když jsi mezi dvěma možnostmi uvíznutí.
  • Otáčej Kolo pro náhodná přiřazení týmuPouži přizpůsobitelné kolečko pro náhodné přiřazení členů týmu k úkolům, rolím nebo skupinám.
  • Náhodný výběr studentů pro tříduPouži kolečko nebo výběr možností pro náhodné zavolání studentů, přiřazení skupin nebo výběr dobrovolníků.
  • Virtuální hod mincí pro sportHoď spravedlivou mincí pro určení stran týmů, prvního míčení, pořadí podání nebo jiných sportovních rozhodnutí.
  • Náhodný výběr pro giveawaysVyber náhodného vítěze ze seznamu příspěvků pomocí výběru možností — průhledný a spravedlivý.

Jak to funguje

Všechny tři režimy — hod mincí, roztočení kola a výběr možnosti — používají vestavěné Web Crypto API prohlížeče (crypto.getRandomValues) k vygenerování vítězného výsledku a poté animaci řídí zcela na straně klienta pomocí CSS transformací a requestAnimationFrame. Server se v žádném okamžiku nezapojuje.

  1. 1
    Web Crypto vybírá vítěze
    Před spuštěním jakékoli animace crypto.getRandomValues naplní Uint32Array kryptograficky náhodným 32bitovým celým číslem. Operace modulo jej namapuje na počet možností (2 pro panna/orel, N pro kolo nebo výběr), takže má každý výsledek přesně stejnou pravděpodobnost.
  2. 2
    Úhel otočení se počítá tak, aby přistál na výsledku
    Pro minci kód spočítá nejkratší dodatečné otočení (navrch aktuálního kumulativního úhlu), které skončí správnou stranou nahoře — panna při 0°, orel při 180° — a poté přidá 5 plných otoček, aby to vypadalo jako skutečné převalování. Kolo dělá totéž: najde úhlový posun, který přivede vítězný výsek pod ukazatel, přidá 6 plných otoček a aplikuje malý náhodný odklon, aby ukazatel vždy nezastavil přesně uprostřed výseku.
  3. 3
    CSS přechody a requestAnimationFrame řídí animaci
    Mince a kolo se animují přes CSS transform s křivkou zpomalení cubic-bezier aplikovanou na jedinou akumulovanou hodnotu otočení — jakmile je úhel nastaven, není potřeba žádný JavaScript na snímek. Výběr možnosti místo toho používá requestAnimationFrame: každý snímek kvadraticky rostoucí interval určuje, zda posunout zvýraznění, čímž vzniká zpomalení ve stylu výherního automatu, které vždy zastaví na předem určeném vítězi.
  4. 4
    Výsledek se odhalí a zaznamená do historie relace
    Po dokončení animace (1,3 s pro minci, 4,3 s pro kolo) se spustí setTimeout a výsledek se zapíše do stavu. Režim mince udržuje průběžnou historii relace až 24 hodů s počty panna/orel. Uživatelé se zapnutým prefers-reduced-motion animaci zcela přeskočí a výsledek uvidí okamžitě.

Související nástroje

Časté dotazy