Hedhje Monedhe & Rrotë Fati Falas
Hidhni një monedhë virtuale, rrotulloni një rrotë të personalizueshme, ose zgjidhni rastësisht nga një listë opsionesh. Përdor rastësinë kriptografike të sigurt të shfletuesit tuaj — jo një short publik të verifikueshëm, prandaj shmangni konkurse të rregulluara.
🔒 Të tri veglat përdorin gjeneruesin kriptografikisht të sigurt të rastësisë të shfletuesit tënd: rezultati zgjidhet fillimisht, pastaj animohet — monedha ka gjasa vërtet 50/50, rrota rrotullohet deri te rezultati tashmë i zgjedhur, dhe zgjedhësi është pa anësi. Asgjë nuk del nga pajisja jote. Kjo është e drejtë për përdorim të përditshëm, por nuk është një short publik i verifikueshëm, prandaj shmangi konkurset e rregulluara ose vendimet me vlerë të lartë.
Si funksionon
Të tri mënyrat — hedhje monedhe, rrota rrotulluese, dhe zgjedhës opsionesh — përdorin API-në e integruar Web Crypto të shfletuesit (crypto.getRandomValues) për të gjeneruar rezultatin fitues, pastaj drejtojnë animacionin tërësisht nga ana e klientit me transformime CSS dhe requestAnimationFrame. Asnjë server nuk përfshihet në asnjë pikë.
- 1Web Crypto zgjedh fituesinPara se të fillojë ndonjë animacion, crypto.getRandomValues mbush një Uint32Array me një numër të plotë 32-bit kriptografikisht të rastësishëm. Një veprim modulo e harton në numrin e opsioneve (2 për krye/pil, N për rrotën ose zgjedhësin), kështu që çdo rezultat ka saktësisht probabilitet të barabartë.
- 2Këndi i rrotullimit llogaritet për të rënë te rezultatiPër monedhën, kodi llogarit rrotullimin shtesë më të shkurtër (mbi këndin aktual kumulativ) që përfundon me anën e saktë lart — krye te 0°, pil te 180° — pastaj shton 5 rrotullime të plota kështu që duket si një hedhje e vërtetë. Rrota bën të njëjtën gjë: gjen zhvendosjen këndore që sjell feten fituese nën shigjetën, shton 6 rrotullime të plota, dhe zbaton një lëkundje të vogël të rastësishme kështu që shigjeta nuk ndalon gjithmonë saktësisht në qendër të fetes.
- 3Kalimet CSS dhe requestAnimationFrame drejtojnë animacioninMonedha dhe rrota animohen përmes transform CSS me një kurbë zbutjeje cubic-bezier të zbatuar mbi një vlerë të vetme rrotullimi të grumbulluar — nuk nevojitet JavaScript për çdo kuadro sapo këndi të vendoset. Zgjedhësi i opsioneve përdor requestAnimationFrame në vend të kësaj: në çdo kuadro, një interval që rritet kuadratikisht përcakton nëse do të përparojë theksimi, duke prodhuar një ngadalësim stil-makinë-llotarie që ndalon gjithmonë te fituesi i paracaktuar.
- 4Rezultati zbulohet dhe regjistrohet në historikun e sesionitNjë setTimeout aktivizohet kur animacioni përfundon (1.3 s për monedhën, 4.3 s për rrotën) dhe e shkruan rezultatin në gjendje. Mënyra e monedhës mban një histori sesioni deri në 24 hedhje me numrat e krye/pil. Përdoruesit me prefers-reduced-motion aktive anashkalojnë animacionin krejtësisht dhe e shohin rezultatin menjëherë.
Mjete të ngjashme
Gjenerues Numrash të Rastësishëm
Gjeneroni numra të rastësishëm në çdo interval, krijoni lista numrash unikë, ose hidhni zare. Përdor rastësi kriptografikisht të sigurt.
Gjenerues Ekipesh të Rastësishme
Ndani një listë emrash në ekipe të rastësishme të balancuara — sipas numrit të ekipeve ose madhësisë së ekipit. Përzierje e drejtë kriptografikisht, ripërzierje e menjëhershme.
Zgjedhës i ngjyrave dhe gjenerator i paletës
Zgjidhni ngjyrat, konvertoni midis HEX/RGB/HSL dhe krijoni paleta harmonike.