Bepul Tanga Tashlash va Aylanma G'ildirak
Virtual tangani tashlang, moslashuvchan g'ildirakni aylantiring yoki ro'yxatdan tasodifiy tanlang. Brauzeringizning kriptografik xavfsiz tasodifiyligidan foydalanadi — tasdiqlanadigan ommaviy tortishma emas, shuning uchun tartibga solinadigan tanlovlar uchun ishlatmang.
🔒 Uchalasi ham brauzeringizning kriptografik jihatdan xavfsiz tasodifiy generatoridan foydalanadi: natija avval tanlanadi, so'ng animatsiya ko'rsatiladi — tanga chinakam 50/50, g'ildirak allaqachon tanlangan natijaga qarab aylantiriladi, tanlovchi esa xolis ishlaydi. Hech narsa qurilmangizdan chiqmaydi. Bu oddiy foydalanish uchun adolatli, ammo tasdiqlanadigan ommaviy qur'a emas, shuning uchun tartibga solinadigan tanlovlar yoki yuqori qiymatli qarorlar uchun ishlatmang.
Qanday ishlaydi
Uchta rejim ham — chaqoq tashlash, aylanma g'ildirak va variant tanlagich — natijani yaratish uchun brauzerning o'rnatilgan Web Crypto API'sidan (crypto.getRandomValues) foydalanadi, so'ng animatsiyani to'liq mijoz tomonida CSS transformatsiyalari va requestAnimationFrame bilan boshqaradi. Hech qanday bosqichda server aralashmaydi.
- 1Web Crypto g'olibni tanlaydiHar qanday animatsiya boshlanishidan oldin, crypto.getRandomValues Uint32Array'ni kriptografik jihatdan tasodifiy 32-bitli butun son bilan to'ldiradi. Modul amali uni variantlar soniga (chaqoq/orqa uchun 2, g'ildirak yoki tanlagich uchun N) xaritalaydi, shuning uchun har bir natijaning ehtimolligi aynan teng.
- 2Aylanish burchagi natijaga tushishi uchun hisoblanadiChaqoq uchun kod to'g'ri tomon yuqorida tugaydigan eng qisqa qo'shimcha aylanishni (joriy jamlangan burchak ustiga) hisoblaydi — chaqoq 0° da, orqa 180° da — so'ng haqiqiy dumalash kabi ko'rinishi uchun 5 to'liq aylanish qo'shadi. G'ildirak xuddi shunday ishlaydi: g'olib bo'lakni ko'rsatkich ostiga keltiradigan burchak siljishini topadi, 6 to'liq aylanish qo'shadi va ko'rsatkich bo'lak markazida doim to'xtamasligi uchun kichik tasodifiy tebranish qo'llaydi.
- 3CSS o'tishlari va requestAnimationFrame animatsiyani boshqaradiChaqoq va g'ildirak yagona jamlangan aylanish qiymatiga qo'llangan kub-bezye silliqlash egri chizig'i bilan CSS transform orqali animatsiyalanadi — burchak o'rnatilgach har kadr JavaScript kerak emas. Variant tanlagich buning o'rniga requestAnimationFrame'dan foydalanadi: har kadrda, kvadratik ravishda o'suvchi interval urg'uni oldinga siljitish kerakmi degan qarorni beradi, bu doim oldindan belgilangan g'olibda to'xtaydigan slot-mashina sekinlashuvini hosil qiladi.
- 4Natija ochiladi va yig'ilish tarixiga yoziladiAnimatsiya tugaganda (chaqoq uchun 1.3 s, g'ildirak uchun 4.3 s) setTimeout ishga tushadi va natijani state'ga yozadi. Chaqoq rejimi 24 tagacha chaqoq tashlashning chaqoq/orqa soni bilan davom etayotgan yig'ilish tarixini saqlaydi. prefers-reduced-motion yoqilgan foydalanuvchilar animatsiyani butunlay o'tkazib yuborib, natijani darhol ko'radi.
Tegishli asboblar
Tasodifiy Raqam Generatori
Istalgan diapazonda tasodifiy raqamlar yarating, noyob raqamlar ro'yxatini tuzing yoki zar tashlang. Kriptografik xavfsiz tasodifiylikdan foydalanadi.
Tasodifiy Jamoa Generatori
Ismlar ro'yxatini muvozanatlangan tasodifiy jamoalarga bo'ling — jamoa soni yoki jamoa o'lchami bo'yicha. Kriptografik jihatdan adolatli aralashtirish, tezkor qayta aralashtirish.
Rang Tanlash va Palitra Generator
Ranglarni tanlash, HEX/RGB/HSL o'rtasida o'zgartirish va uyg'un palitranglar yaratish.