Ingyenes Pénzfeldobás és pörgős kerék
Dobjunk fel egy virtuális érmét, forgassunk egy testreszabható kereket, vagy válasszon véletlenszerűen az opciók listájáról. A böngésző kriptográfiailag biztonságos véletlenszerűségét használja — nem igazolható nyilvános sorsolás, ezért kerülje a szabályozott versenyeket.
🔒 Mindhárom a böngésző kriptográfiailag-biztonságos véletlenszám-generátorát használja: az eredményt először kiválasztják, majd animálják — az érme igazi 50/50, a kerék a már kiválasztott eredményéhez forog, és a választó elfogultságmentes. Semmi nem hagyja el az eszközét. Ez tisztességes a alkalmi használathoz, de nem igazolható nyilvános sorsolás, ezért kerülje a szabályozott versenyeket vagy nagy értékű döntéseket.
Gyakori felhasználások
- Feldobni érméket a döntésekhezHasználjon tisztességes virtuális érme dobást a gyors, elfogulatlan döntésekhez, amikor két lehetőség között rekedt.
- Kerék elforgatása véletlenszerű csapat feladatokhozAz testreszabható spinkerék segítségével véletlenszerűen rendeljen csapattagokat feladatokhoz, szerepekhez vagy csoportokhoz.
- Véletlenszerű tanulóválasztó osztályokhozA spinkerék vagy lehetőség választó segítségével véletlenszerűen hívjon fel tanulókat, rendeljen csoportokat vagy válasszon önkénteseket.
- Virtuális érme dobás sporthozDobjon egy tisztességes érmét a csapatsidók, első birtoklás, szervezi sorrend vagy más sportbeli döntések meghatározásához.
- Véletlenszerű választó az ajándékozásokhozVálasszon egy véletlenszerű nyertest a bejegyzések listájából a lehetőség választó segítségével — átlátható és igazságos.
Hogyan működik
Mindhárom mód — érmefeldobás, kerékforgatás és opcióválasztó — a böngésző beépített Web Crypto API-ját (crypto.getRandomValues) használja a nyertes eredmény generálásához, majd teljesen kliensoldalon vezérli az animációt CSS transzformációkkal és requestAnimationFrame-mel. Nincs szerver érintve egyetlen ponton sem.
- 1A Web Crypto választja a nyertestMielőtt bármilyen animáció elindulna, a crypto.getRandomValues egy Uint32Array-t tölt fel egy kriptográfiailag véletlenszerű 32-bites egész számmal. Egy modulo művelet leképezi az opciók számára (2 fej/írás esetén, N a kerékhez vagy választóhoz), így minden eredménynek pontosan egyenlő valószínűsége van.
- 2A forgásszög kiszámításra kerül, hogy az eredményre essenAz érme esetén a kód kiszámítja a legrövidebb további forgatást (a jelenlegi kumulatív szög tetejére), amely a helyes oldalt hozza felül — fej 0°-nál, írás 180°-nál —, majd hozzáad 5 teljes fordulatot, hogy valódi pörgésnek tűnjön. A kerék ugyanezt teszi: megtalálja a szögeltolást, amely a nyertes szeletet a mutató alá hozza, hozzáad 6 teljes fordulatot, és kis véletlen remegést alkalmaz, hogy a mutató ne mindig a szelet pontos közepén álljon meg.
- 3CSS átmenetek és requestAnimationFrame vezérlik az animációtAz érme és a kerék CSS transform-mal animálódik, egy köbös-bézier lassítási görbével alkalmazva egyetlen felhalmozott forgásértékre — nincs szükség képkockánkénti JavaScriptre, miután a szög be van állítva. Az opcióválasztó helyette requestAnimationFrame-et használ: minden képkockán egy kvadratikusan növekvő intervallum határozza meg, hogy előre kell-e lépni a kiemelést, egy nyerőgép-stílusú lassulást produkálva, amely mindig az előre meghatározott nyertesnél áll meg.
- 4Az eredmény felfedésre kerül, és a munkamenet-előzményekbe naplózásra kerülEgy setTimeout aktiválódik, amikor az animáció befejeződik (1,3 mp az érménél, 4,3 mp a keréknél), és beírja az eredményt az állapotba. Az érme mód legfeljebb 24 feldobás futó munkamenet-előzményét tartja fej/írás számokkal. A prefers-reduced-motion beállítást engedélyező felhasználók teljesen kihagyják az animációt, és azonnal látják az eredményt.
Kapcsolódó eszközök
Kerékforgató
Írj be egy név- vagy választási listát, pörgesd meg a kereket, és hagyd, hogy véletlenszerűen válasszon egyet, ketyegő hanggal, konfettivel és a nyertes eltávolításának lehetőségével.
Véletlenszám-generátor
Generálj véletlenszámokat bármely tartományban, hozz létre egyedi számlistákat, vagy dobd meg a kockát. Kriptográfiailag biztonságos véletlenszerűséget használ.
Véletlenszerű csapatgenerátor
Osztj fel egy névlistát kiegyensúlyozott véletlenszerű csapatokra — csapatszám vagy csapatméret szerint. Kriptográfiailag igazságos keverés, azonnali újrakeverés.