Salt la conținutul principal
LibraTool logoLibraTool

Aruncare de monedă și Roata norocului — gratuit

Aruncă o monedă virtuală, rotește o roată personalizabilă sau alege aleatoriu dintr-o listă de opțiuni. Folosește aleatorietatea sigură criptografic a browserului — nu o tragere publică verificabilă, deci evită concursurile reglementate.

Funcționează offline odată încărcat

🔒 Toate trei folosesc generatorul aleatoriu sigur criptografic al browserului tău: rezultatul este ales mai întâi și apoi animat — moneda este un adevărat 50/50, roata se rotește spre rezultatul deja ales, iar selectorul este imparțial. Nimic nu părăsește dispozitivul tău. Este corect pentru uz ocazional, dar nu este o tragere publică verificabilă, așa că evită concursurile reglementate sau deciziile cu miză mare.

Utilizări frecvente

  • Răsturnați o monedă pentru luarea deciziilorUtilizați o întoarcere de monedă virtuală corectă pentru luări de decizii rapide și imparțiale atunci când sunteți blocat între două opțiuni.
  • Rotiți roata pentru atribuiri aleatorii de echipăUtilizați roata de spin personalizabilă pentru a atribui aleatoriu membrii echipei la sarcini, roluri sau grupuri.
  • Selector aleatoriu de studenți pentru sălile de clasăUtilizați roata de spin sau selectorul de opțiuni pentru a apela aleatoriu studenții, a atribui grupuri sau a alege voluntari.
  • Răsturnare monedă virtuală pentru sportRăsturnați o monedă corectă pentru a determina laturile echipei, posesia inițială, ordinea serviciului sau alte decizii sportive.
  • Selector aleatoriu pentru giveawaysAlegeți un câștigător aleatoriu dintr-o listă de înscrierii folosind selectorul de opțiuni — transparent și corect.

Cum funcționează

Toate cele trei moduri — aruncare monedă, roată rotitoare, și selector de opțiuni — folosesc API-ul Web Crypto integrat al browser-ului (crypto.getRandomValues) pentru a genera rezultatul câștigător, apoi conduc animația în întregime client-side cu transformări CSS și requestAnimationFrame. Niciun server nu este implicat în niciun moment.

  1. 1
    Web Crypto alege câștigătorul
    Înainte ca orice animație să înceapă, crypto.getRandomValues umple un Uint32Array cu un întreg pe 32 de biți criptografic aleator. O operație modulo îl mapează la numărul de opțiuni (2 pentru cap/pajură, N pentru roată sau selector), astfel încât fiecare rezultat are o probabilitate exact egală.
  2. 2
    Unghiul de rotație este calculat pentru a ateriza pe rezultat
    Pentru monedă, codul calculează cea mai scurtă rotație suplimentară (peste unghiul cumulat curent) care se termină cu fața corectă în sus — cap la 0°, pajură la 180° — apoi adaugă 5 rotații complete astfel încât să pară o rostogolire reală. Roata face la fel: găsește decalajul unghiular care aduce felia câștigătoare sub indicator, adaugă 6 rotații complete, și aplică o mică variație aleatorie astfel încât indicatorul să nu se oprească întotdeauna exact în centrul feliei.
  3. 3
    Tranzițiile CSS și requestAnimationFrame conduc animația
    Moneda și roata se animă prin transform CSS cu o curbă de accelerare cubic-bezier aplicată unei singure valori de rotație cumulate — niciun JavaScript per-cadru nu este necesar odată ce unghiul este setat. Selectorul de opțiuni folosește requestAnimationFrame în schimb: la fiecare cadru, un interval crescând pătratic determină dacă să avanseze evidențierea, producând o decelerare stil slot-machine care se oprește întotdeauna pe câștigătorul predeterminat.
  4. 4
    Rezultatul este dezvăluit și înregistrat în istoricul sesiunii
    Un setTimeout declanșează când animația se termină (1,3 s pentru monedă, 4,3 s pentru roată) și scrie rezultatul în stare. Modul monedă păstrează un istoric de sesiune curent de până la 24 de aruncări cu numărul de capuri/pajuri. Utilizatorii cu prefers-reduced-motion activat sar peste animație complet și văd rezultatul imediat.

Instrumente similare

Întrebări frecvente