Mündi viskamine ja pööramine tasuta
Visake virtuaalse mündi, pöörake kohandatavat ratast või valige juhuslikkult valikute loendist. Kasutab teie brauseri krüptograafiliselt turvalisu juhuslikust — pole kontrollitav avalik loosimine, nii et vältida reguleeritud võistlusi.
🔒 Kõik kolm kasutavad teie brauseri krüptograafiliselt turvalisu juhuslike arvude generaatorit: tulem valitakse esmalt, seejärel animeeritakse — münt on tõeline 50/50, ratas pöörleb juba valitud tulemuse suunas ja valija on erapooletu. Teie seadmest ei lahku midagi. See on õiglane igapäevaseks kasutamiseks, kuid see ei ole kontrollitav avalik loosimine, nii et vältida reguleeritud võistlusi või suurte otsuste vastu.
Levinud kasutusviisid
- Pöörake münti otsuste jaoksKasutage õiglast virtuaalset mündi pöörde kiireteks, erapooletuteks otsusteks, kui olete kahe variandi vahel põhjustada.
- Pöörake ratta juhuslikele meeskonna ülesanneteleKasutage kohandatavat ratast meeskonna liikmete juhuslikult ülesannetele, rollidele või rühmadele määramiseks.
- Juhuslik õpilaste valija klassideleKasutage ratta või valiku valija õpilaste juhuslikult kutsumiseks, rühmade määramiseks või vabatahtlike valimiseks.
- Virtuaalne mündi pöördmine spordi jaoksPöörake õigel münti meeskonna küljedele, esimesele omamisele, suuremale järjekorrale või muudele spordiotsustele.
- Juhuslik valija annetamiste jaoksValige juhuslik võitja kannete loenditest, kasutades valikuvalijas — läbipaistev ja õiglane.
Kuidas see töötab
Kõik kolm režiimi — mündiviskamine, ratta keerutamine ja valiku valimine — kasutavad brauseri sisseehitatud Web Crypto API-t (crypto.getRandomValues), et genereerida võiduv tulemus, ning juhivad seejärel animatsiooni täielikult kliendipoolselt CSS-teisenduste ja requestAnimationFrame abil. Server pole kuskil kaasatud.
- 1Web Crypto valib võitjaEnne mis tahes animatsiooni algust täidab crypto.getRandomValues Uint32Array-i krüptograafiliselt juhusliku 32-bitise täisarvuga. Modulo-operatsioon kaardistab selle valikute arvule (2 kirjade/kullade jaoks, N ratta või valija jaoks), nii et igal tulemusel on täpselt võrdne tõenäosus.
- 2Pöördenurk arvutatakse tulemuse jaoksMündi puhul arvutab kood lühima lisapöörde (praeguse kumulatiivse nurga peale), mis lõpeb õige poolega üleval — kirjad 0° juures, kullad 180° juures — ja lisab seejärel 5 täispööret, et see näeks välja nagu tõeline tuiskamine. Ratas teeb sama: leiab nurganihke, mis toob võiduva sektori näidiku alla, lisab 6 täispööret ja rakendab väikest juhuslikku värinat, et näidik ei peatuks alati sektori keskel.
- 3CSS-üleminekud ja requestAnimationFrame juhivad animatsiooniMünt ja ratas animeeritakse CSS transform'iga koos cubic-bezier kergendusõverga, mis on rakendatud ühele kumulatiivsele pöördeväärtusele — kaadripõhist JavaScripti pole vaja pärast nurga seadmist. Valiku valija kasutab selle asemel requestAnimationFrame'i: igal kaadril määrab ruudukujuliselt kasvav intervall, kas esiletõst edasi liigutada, tootes tragamati-stiilis aeglustumise, mis alati peatub eelmääratud võitjal.
- 4Tulemus avalikustatakse ja logitakse sessiooniajalukkusetTimeout käivitub, kui animatsioon lõpeb (1,3 s mündi jaoks, 4,3 s ratta jaoks), ja kirjutab tulemuse olekusse. Mündirežiim hoiab käimasolevat sessiooniajalugu kuni 24 viskest koos kirja/kulla arvudega. Kasutajad, kellel on prefers-reduced-motion lubatud, jätavad animatsiooni täielikult vahele ja näevad tulemust koheselt.
Seotud tööriistad
Rattakeerutaja
Sisesta nimede või valikute nimekiri, keeruta ratast ja lase sellel juhuslikult üks valida koos tiksuva heli, konfeti ja võimalusega iga võitja eemaldada.
Juhusliku numbri generaator
Loo juhuslikke numbreid mis tahes vahemikus, loo unikaalseid numbriloendeid või veereta täringuid. Kasutab krüptograafiliselt turvalist juhuslikku.
Juhusliku meeskonna generaator
Jaga nimede nimekiri tasakaalustatud juhuslikeks meeskondadeks — meeskondade arvu või suuruse järgi. Krüptograafiliselt aus segamine, kohene ümbersegamine.