Preskoči na glavni sadržaj

Bacanje novčića i kotač sreće — besplatno

Bacite virtualni novčić, okrenite prilagođivi kotač ili nasumično odaberite iz popisa opcija. Koristi kriptografski sigurnu slučajnost vašeg preglednika — nije javna provjera, zato izbjegavajte regulirana natjecanja.

Radi offline nakon učitavanja

🔒 Sva tri koriste kriptografski sigurni generator slučajnih brojeva vašeg preglednika: rezultat se prvo bira, zatim se animira — novčić je pravi 50/50, kotač se okreće na već odabrani rezultat, i birač je nepristran. Ništa ne napušta vašu napravu. Ovo je pošteno za casual korištenje, ali nije javna provjera, zato izbjegavajte regulirana natjecanja ili odluke od velike vrijednosti.

Uobičajene namjene

  • Bacajte novčić za donošenje odlukaKoristite pravedne virtualne bacanje novčića za brze, nepristrane odluke kada ste zapeli između dvije opcije.
  • Okrenite kotač za nasumične dodjele timovaKoristite prilagodljivi kotač za nasumičnu dodjelu članova tima na zadatke, uloge ili grupe.
  • Nasumični odabir učenika za učioniceKoristite kotač ili odabir opcije za nasumičan poziv učenika, dodjelu grupa ili odabir volontera.
  • Virtualno bacanje novčića za sportBacajte pravedni novčić kako biste odredili stranama tima, prvi posjed, redoslijed servisa ili druge sportske odluke.
  • Nasumični odabir za darivanjaOdaberite nasumičnog dobitnika iz popisa unosa koristeći odabir opcije — transparentan i pošten.

Kako funkcionira

Sva tri načina — bacanje novčića, kotač sreće i birač opcija — koriste ugrađeni Web Crypto API preglednika (crypto.getRandomValues) za generiranje pobjedničkog ishoda, zatim pokreću animaciju u potpunosti na strani klijenta pomoću CSS transformacija i requestAnimationFrame. Poslužitelj nije uključen ni u jednom trenutku.

  1. 1
    Web Crypto bira pobjednika
    Prije početka bilo koje animacije, crypto.getRandomValues popunjava Uint32Array kriptografski slučajnim 32-bitnim cijelim brojem. Operacija modulo mapira ga na broj opcija (2 za pismo/glava, N za kotač ili birač), tako da svaki ishod ima potpuno jednaku vjerojatnost.
  2. 2
    Kut rotacije izračunava se za slijetanje na rezultat
    Za novčić, kod izračunava najkraću dodatnu rotaciju (na vrh trenutačnog kumulativnog kuta) koja završava s ispravnom stranom prema gore — glava na 0°, pismo na 180° — zatim dodaje 5 punih okretaja kako bi izgledalo kao stvarno bacanje. Kotač radi isto: pronalazi kutni pomak koji dovodi pobjedničku dionicu ispod pokazivača, dodaje 6 punih okretaja i primjenjuje malo nasumično podrhtavanje kako pokazivač uvijek ne bi stao točno u sredini dionice.
  3. 3
    CSS tranzicije i requestAnimationFrame pokreću animaciju
    Novčić i kotač animiraju se putem CSS transform s krivuljom ublažavanja cubic-bezier primijenjenom na jednu akumuliranu vrijednost rotacije — nije potreban JavaScript po kadru nakon postavljanja kuta. Birač opcija umjesto toga koristi requestAnimationFrame: svaki kadar, kvadratno rastući interval određuje treba li unaprijediti isticanje, proizvodeći usporavanje u stilu slot mašine koje uvijek staje na unaprijed određenom pobjedniku.
  4. 4
    Rezultat se otkriva i bilježi u povijest sesije
    setTimeout se aktivira kada animacija završi (1,3 s za novčić, 4,3 s za kotač) i zapisuje rezultat u stanje. Način novčića vodi tekuću povijest sesije do 24 bacanja s brojevima pisma/glave. Korisnici s omogućenim prefers-reduced-motion u potpunosti preskaču animaciju i odmah vide rezultat.

Srodni alati

Često postavljana pitanja