Monētas mešana un veiksmes rats bez maksas
Izmest virtuālu monētu, pagriezt pielāgojamu riteni vai nejauši izvēlēties no iespēju saraksta. Izmanto kriptogrāfiski drošu jūsu pārlūkprogrammas nejaušības — nav verificējams publisks izloze, tāpēc izvairieties no regulētu konkursu.
🔒 Visi trīs izmanto jūsu pārlūkprogrammas kriptogrāfiski drošo nejaušo skaitļu ģeneratoru: rezultāts vispirms tiek atlasīts, pēc tam animēts — monēta ir patiesa 50/50, ritenis tiek pagriezts uz jau atlasīto rezultātu, un atlasītājs ir neobjektīvs. No jūsu ierīces neko neiziet. Tas ir taisnīgi ikdienai, bet tas nav verificējams publisks izloze, tāpēc izvairieties no regulētu konkursu vai lielas vērtības lēmumiem.
Biežākie lietojumi
- Métiet monētu lēmumiemIzmantojiet taisnīgu virtuālu monētas mešanu ātram, neobjektīvam lēmumam, kad jūs iesprūdzis starp divām iespējām.
- Grieziet ratu nejaušiem komandas uzdevumiemIzmantojiet pielāgojamu ratu nejaušai komandas locekļu piešķiršanai uzdevumiem, lomām vai grupām.
- Nejaušs studentu atlasītājs klasēmIzmantojiet ratu vai opciju atlasītāju nejaušam studentu izsaukšanai, grupu piešķiršanai vai brīvprātīgo atlasīšanai.
- Virtuāla monēta sportamMétiet taisnīgu monētu komandas sāniem, pirmajai possesijai, servisa kārtībai vai citiem sporta lēmumiem.
- Nejaušs atlasītājs dāvanāmAtlasiet nejaušu uzvarētāju no ierakstu saraksta, izmantojot opciju atlasītāju — pārredzams un taisnīgs.
Kā tas darbojas
Visi trīs režīmi — monētas mešana, ripas griešana un opciju izvēle — izmanto pārlūkprogrammas iebūvēto Web Crypto API (crypto.getRandomValues), lai ģenerētu uzvarošo iznākumu, tad vada animāciju pilnībā klienta pusē ar CSS transformācijām un requestAnimationFrame. Nevienā brīdī nav iesaistīts serveris.
- 1Web Crypto izvēlas uzvarētājuPirms jebkuras animācijas sākuma crypto.getRandomValues aizpilda Uint32Array ar kriptogrāfiski nejaušu 32 bitu veselu skaitli. Moduļa operācija to kartē uz opciju skaitu (2 galvai/astei, N ripai vai izvēlnei), tāpēc katram iznākumam ir tieši vienāda varbūtība.
- 2Pagrieziena leņķis tiek aprēķināts, lai nokristu uz rezultātuMonētai kods aprēķina īsāko papildu pagriezienu (papildus pašreizējam summētajam leņķim), kas beidzas ar pareizo pusi uz augšu — galva pie 0°, aste pie 180° —, tad pievieno 5 pilnus apgriezienus, lai izskatītos kā īsts mets. Ripa dara to pašu: tā atrod leņķisko nobīdi, kas nogādā uzvarošo šķēli zem rādītāja, pievieno 6 pilnus apgriezienus un pielieto nelielu nejaušu svārstību, lai rādītājs vienmēr neapstātos tieši šķēles centrā.
- 3CSS pārejas un requestAnimationFrame vada animācijuMonēta un ripa animējas caur CSS transform ar cubic-bezier izlīdzināšanas līkni, pielietotu vienam uzkrātam pagrieziena leņķim — nav vajadzīgs JavaScript uz katru kadru, kad leņķis ir iestatīts. Opciju izvēle izmanto requestAnimationFrame — katrā kadrā kvadrātiski augošs intervāls nosaka, vai virzīt izcēlumu uz priekšu, radot spēļu automāta palēnināšanās efektu, kas vienmēr apstājas pie iepriekš noteiktā uzvarētāja.
- 4Rezultāts tiek atklāts un ierakstīts sesijas vēsturēsetTimeout tiek izsaukts, kad animācija pabeigta (1.3 s monētai, 4.3 s ripai), un ieraksta rezultātu stāvoklī. Monētas režīms uztur pastāvīgu sesijas vēsturi līdz 24 mešanām ar galvas/astes skaitiem. Lietotāji ar ieslēgtu prefers-reduced-motion pilnībā izlaiž animāciju un redz rezultātu uzreiz.
Saistītie rīki
Grozāmais rats
Ieraksti vārdu vai izvēļu sarakstu, iegriez ratu un ļauj tam nejauši izvēlēties vienu, ar klikšķa skaņu, konfeti un iespēju noņemt katru uzvarētāju.
Nejaušu skaitļu ģenerētājs
Ģenerē nejaušus skaitļus jebkurā diapazonā, veido unikālus skaitļu sarakstus vai metiet kauliņus. Izmanto kriptogrāfiski drošu nejaušību.
Nejaušo komandu ģenerētājs
Sadala vārdu sarakstu līdzsvarotās nejaušās komandās — pēc komandu skaita vai komandas lieluma. Kriptogrāfiski godīga jaukšana, tūlītēja pārjaukšana.