Негізгі мазмұнға өту

Тиын лақтыру және айналдыру дөңгелегі — тегін

Виртуалды монета лақтырыңыз, ынамдандырылатын доңғалақты айналдырыңыз немесе опциялар тізімінен кездейсінді таңдаңыз. Браузеріңіздің криптографиялық түрде қауіпсіз кездейсіндіктігін пайдаланады — бұл расталатын ортақ ойын емес, сондықтан реттелген сайыстардан аулақ болыңыз.

Жүктелгеннен кейін офлайн жұмыс істейді

🔒 Үшеуі де браузеріңіздің криптографиялық түрде қауіпсіз кездейсінді генераторын пайдаланады: нәтиже алдымен таңдалады, содан кейін анимацияланады — монета шынайы 50/50 болып табылады, доңғалақ már таңдалған нәтижеге айналдырылады және таңдау объективті болып табылады. Ешбір нәрсе сіздің құрылғысынан шықпайды. Бұл ресми емес пайдалану үшін әділ, бірақ бұл расталатын ортақ ойын емес, сондықтан реттелген сайыстар немесе ауырлығы жоғары шешімдерден аулақ болыңыз.

Жиі қолданылуы

  • Шешім қабылдау үшін монета атыңызЕкі нұсқасы аралай сіздегі болғанда жылдам, ағасызға монета ырығын пайдалану - ынамды шешім қабылдау.
  • Кездейсоқ комманда тағайындауларын үшін дөңгелек бұрыңызІс-әрекет комманда мүшелерін кездейсоқ тәрізді тағайындау үшін ішінді бұрыңыз дөңгелегін пайдалану.
  • Класс кезіндегі кездейсоқ оқушы таңдағышыОқушыларды кездейсоқ шақыру, топтарды тағайындау немесе ынамдарды таңдау үшін бұрыңыз дөңгелегі немесе сайлау таңдағышын пайдалану.
  • Спорт үшін сандық монета атулыКомманда жақтарын, бірінші меншіктік, қызмет реттілігі немесе басқа спорт шешімдерін анықтау үшін ынамды монетаны атыңыз.
  • Сыйлықтар үшін кездейсоқ таңдағышыСайлау Таңдағышын пайдалану арқылы кірге тізімінен кездейсоқ жеңімпазды таңдаңыз - тыршифи мен ынамды.

Қалай жұмыс істейді

Барлық үш режим — тиын лақтыру, дөңгелек айналдыру және опция таңдаушы — жеңімпаз нәтижені жасау үшін браузердің кірістірілген Web Crypto API-ын (crypto.getRandomValues) пайдаланады, содан кейін анимацияны толығымен клиент жағында CSS түрлендірулерімен және requestAnimationFrame-мен басқарады. Ешбір сатыда сервер қатыспайды.

  1. 1
    Web Crypto жеңімпазды таңдайды
    Кез келген анимация басталмас бұрын, crypto.getRandomValues Uint32Array-ды криптографиялық кездейсоқ 32-биттік бүтін санмен толтырады. Модуль операциясы оны опциялар санына сәйкестендіреді (бас/құйрық үшін 2, дөңгелек немесе таңдаушы үшін N), сондықтан әр нәтиженің дәл тең ықтималдығы бар.
  2. 2
    Айналу бұрышы нәтижеге түсу үшін есептеледі
    Тиын үшін, код дұрыс жағы жоғары болатын (бас 0°-та, құйрық 180°-та) ең қысқа қосымша айналуды (ағымдағы жинақталған бұрышқа қосымша) есептейді, содан кейін нақты домалау сияқты көрінуі үшін 5 толық айналым қосады. Дөңгелек те солай істейді: жеңімпаз секторды көрсеткіштің астына әкелетін бұрыштық ығысуды табады, 6 толық айналым қосады және көрсеткіш секторда әрқашан дәл ортаға тоқтамауы үшін шағын кездейсоқ дірілді қолданады.
  3. 3
    CSS ауысулары мен requestAnimationFrame анимацияны басқарады
    Тиын мен дөңгелек бір жинақталған айналу мәніне қолданылған кубтық-безье жеңілдету қисығымен CSS transform арқылы анимацияланады — бұрыш орнатылғаннан кейін кадр сайын JavaScript қажет емес. Опция таңдаушы оның орнына requestAnimationFrame пайдаланады: әр кадрда, квадраттық түрде өсетін аралық жарықтандыруды алға жылжыту керек пе екенін анықтайды, бұл әрқашан алдын ала анықталған жеңімпазда тоқтайтын ойын автоматы баяулауын шығарады.
  4. 4
    Нәтиже ашылады және сессия тарихына жазылады
    Анимация аяқталғанда setTimeout іске қосылады (тиын үшін 1.3 с, дөңгелек үшін 4.3 с) және нәтижені күйге жазады. Тиын режимі бас/құйрық санымен 24-ке дейінгі лақтыруда жұмыс сессиясы тарихын сақтайды. prefers-reduced-motion қосылған пайдаланушылар анимацияны толығымен өткізіп жіберіп, нәтижені дереу көреді.

Байланысты құралдар

Жиі қойылатын сұрақтар