Besplatan Bacanje novčića i kolo sreće

Bacite virtuelni novčić, zavrtite prilagodljivi kotač ili nasumično izaberite s liste opcija. Koristi kriptografski sigurnu nasumičnost vašeg preglednika — nije provjerljivo javno izvlačenje, pa izbjegavajte regulisana takmičenja.

Radi offline nakon učitavanja

🔒 Sve tri funkcije koriste kriptografski siguran generator slučajnih brojeva vašeg preglednika: rezultat se prvo odabere, a zatim se animira — novčić je pravi 50/50, kolo se okreće do već odabranog rezultata, a birač je nepristran. Ništa ne napušta vaš uređaj. Ovo je pravedno za povremenu upotrebu, ali nije provjerljiv javni izvlačenje, pa izbjegavajte regulisana takmičenja ili odluke visoke vrijednosti.

Kako radi

Sva tri moda — bacanje novčića, okretanje kola, i biralac opcija — koriste ugrađeni Web Crypto API preglednika (crypto.getRandomValues) da generišu pobjednički ishod, zatim pokreću animaciju u potpunosti na strani klijenta pomoću CSS transformacija i requestAnimationFrame. Server nije uključen ni u jednom trenutku.

  1. 1
    Web Crypto bira pobjednika
    Prije nego što animacija počne, crypto.getRandomValues popunjava Uint32Array kriptografski slučajnim 32-bitnim cijelim brojem. Operacija modulo ga mapira na broj opcija (2 za glava/pismo, N za kolo ili biralac), tako da svaki ishod ima potpuno jednaku vjerovatnoću.
  2. 2
    Ugao rotacije se izračunava da bi sletio na rezultat
    Za novčić, kod izračunava najkraću dodatnu rotaciju (na vrhu trenutnog akumuliranog ugla) koja završava sa ispravnom stranom gore — glava na 0°, pismo na 180° — zatim dodaje 5 punih okretaja tako da izgleda kao pravo prevrtanje. Kolo radi isto: pronalazi ugaoni pomak koji dovodi pobjedničku isječku ispod pokazivača, dodaje 6 punih rotacija, i primjenjuje malo nasumično podrhtavanje tako da pokazivač ne staje uvijek tačno u sredini isječke.
  3. 3
    CSS prelazi i requestAnimationFrame pokreću animaciju
    Novčić i kolo se animiraju putem CSS transform sa kubnom bezier krivom lakoće primijenjenom na jednu akumuliranu vrijednost rotacije — nikakav JavaScript po kadru nije potreban jednom kad je ugao postavljen. Biralac opcija umjesto toga koristi requestAnimationFrame: svaki kadar, kvadratno rastući interval određuje da li da pomjeri isticanje, proizvodeći usporavanje slot-mašine koje uvijek staje na unaprijed određenom pobjedniku.
  4. 4
    Rezultat se otkriva i bilježi u historiju sesije
    setTimeout se aktivira kada se animacija završi (1,3 s za novčić, 4,3 s za kolo) i zapisuje rezultat u stanje. Mod novčića vodi tekuću historiju sesije do 24 bacanja sa brojem glava/pisma. Korisnici sa uključenom opcijom prefers-reduced-motion u potpunosti preskaču animaciju i odmah vide rezultat.

Povezani alati

Često postavljana pitanja