Pređi na glavni sadržaj
LibraTool logoLibraTool

Bacanje novčića i okretanje točka — besplatno

Bacite virtuelni novčić, okrenite prilagodljivi točak ili nasumično odaberite iz liste opcija. Koristi kriptografski sigurnu nasumičnost vašeg pregledača — nije javno proverljivo izvlačenje, pa izbegavajte regulisana takmičenja.

Radi van mreže kada se učita

🔒 Sva tri koriste kriptografski siguran generator nasumičnih brojeva vašeg pregledača: rezultat se prvo bira, zatim animira — novčić je pravi 50/50, točak se vrti ka već izabranom rezultatu, a birač je nepristrasan. Ništa ne napušta vaš uređaj. Ovo je pošteno za povremenu upotrebu, ali nije javno proverljivo izvlačenje, pa izbegavajte regulisana takmičenja ili odluke velike vrednosti.

Uobičajene upotrebe

  • Okrenite novčić da odlučiteKoristite fer virtuelni okret novčića za brze, nepristrasne odluke kada ste zaglavljeni između dve opcije.
  • Okrenite točak za nasumične dodele timaKoristite prilagodljivo okretanje točka za nasumičnu dodelu članova tima na zadatke, uloge ili grupe.
  • Nasumični studentski odabirač za učioniceKoristite okretanje točka ili odabirač opcije za nasumičan poziv na studente, dodelu grupa ili izbor volontera.
  • Virtuelni okret novčića za sportoveOkrenite fer novčić da odredite stranice tima, prvu posedovanje, redosled servisa ili druge sportske odluke.
  • Nasumični odabirač za poklaćeIzaberite nasumičnog dobitnika iz liste unosa koristeći odabirač opcije — proziran i fer.

Kako funkcioniše

Sva tri režima — bacanje novčića, obrtanje točka, i birač opcija — koriste ugrađeni Web Crypto API pregledača (crypto.getRandomValues) da generišu pobednički ishod, a zatim vode animaciju u potpunosti na klijentu pomoću CSS transformacija i requestAnimationFrame. Server nije uključen ni u jednom trenutku.

  1. 1
    Web Crypto bira pobednika
    Pre nego što animacija počne, crypto.getRandomValues popunjava Uint32Array kriptografski nasumičnim 32-bitnim celim brojem. Operacija modulo ga mapira na broj opcija (2 za pismo/glava, N za točak ili birač), tako da svaki ishod ima tačno jednaku verovatnoću.
  2. 2
    Ugao rotacije se izračunava da sleti na rezultat
    Za novčić, kod izračunava najkraću dodatnu rotaciju (na vrhu trenutnog kumulativnog ugla) koja se završava sa ispravnom stranom gore — pismo na 0°, glava na 180° — zatim dodaje 5 punih obrtaja da izgleda kao pravo bacanje. Točak radi isto: pronalazi ugaoni pomak koji dovodi pobedničku isečak pod pokazivač, dodaje 6 punih rotacija, i primenjuje malo nasumično podrhtavanje tako da pokazivač ne staje uvek tačno u sredini isečka.
  3. 3
    CSS tranzicije i requestAnimationFrame pokreću animaciju
    Novčić i točak se animiraju preko CSS transform sa krivom ublažavanja cubic-bezier primenjenom na jednu akumuliranu vrednost rotacije — nije potreban JavaScript po kadru kada je ugao postavljen. Birač opcija umesto toga koristi requestAnimationFrame: svaki kadar, kvadratno rastući interval određuje da li da pomeri isticanje, proizvodeći usporavanje u stilu automata za igru koje uvek staje na unapred određenog pobednika.
  4. 4
    Rezultat se otkriva i beleži u istoriju sesije
    setTimeout se pokreće kada se animacija završi (1,3 s za novčić, 4,3 s za točak) i upisuje rezultat u stanje. Režim novčića vodi tekuću istoriju sesije do 24 bacanja sa brojem pisama/glava. Korisnici sa uključenim prefers-reduced-motion u potpunosti preskaču animaciju i vide rezultat odmah.

Slične alatke

Česta pitanja