Əsas məzmuna keç

Pulsuz Sikkə Atma və Çarx Döndərmə

Virtual sikkə atın, fərdiləşdiriləbilir çarx çevirin və ya seçənəklərin siyahısından təsadüfi olaraq seçin. Brauzerinizin kriptoqrafik olaraq təhlükəsiz təsadüfiülüyündən istifadə edir — bu yoxlanıla biləcək ictimai cəkiliş deyil, ona görə də tənzimlənmiş yarışlardan çəkinən.

Bir dəfə yükləndikdən sonra oflayn işləyir

🔒 Hər üçü brauzerinizin kriptoqrafik olaraq təhlükəsiz təsadüfi generator istifadə edir: nəticə əvvəlcə seçilir, sonra animasiya edilir — sikkə həqiqi 50/50-dir, çarx artıq seçilmiş nəticəyə çevrilir və seçici qərəzsizdir. Heç bir şey cihazınızdan kənara çıxmır. Bu qeyri-rəsmi istifadə üçün ədalətlidir, lakin bu yoxlanıla biləcək ictimai cəkiliş deyil, ona görə də tənzimlənmiş yarışlardan və yüksək dəyərli qərarlardan çəkinən.

Ümumi istifadələr

  • Qərar Vermək üçün Sikkə Atınİki seçim arasında sıkışıb qalmış olduqda sürətli, qərəzsiz qərarlar vermək üçün ədalətli virtual sikkə atışından istifadə edin.
  • Təsadüfi Komanda Təyinatları üçün Çarxı ÇevirinKomanda üzvlərini tapşırıqlara, rollarına və ya qruplara təsadüfi şəkildə təyin etmək üçün fərdiləşdirmə çarxı istifadə edin.
  • Sinif otaqları üçün Təsadüfi Tələbə SeçiciləriTələbələri təsadüfi şəkildə çağırmaq, qrupları təyin etmək və ya könüllüləri seçmək üçün çevirmə çarxı və ya seçim seçiciləri istifadə edin.
  • Spor üçün Sanal Sikkə AtmaKomanda tərəflərini, ilk əmlak hüququnu, servere dəyişi sırası və ya digər spor qərarlarını müəyyən etmək üçün ədalətli sikkə atın.
  • Hədiyyələr üçün Təsadüfi SeçiciSeçim Seçicisindən istifadə edərək giriş siyahısından təsadüfi qalibi seçin — şəffaf və ədalətli.

Necə İşləyir

Üç rejim də — sikkə atma, çarx fırlatma və seçim seçici — qalibin nəticəsini yaratmaq üçün brauzerin daxili Web Crypto API-sini (crypto.getRandomValues) istifadə edir, sonra animasiyanı tamamilə istifadəçi tərəfli olaraq CSS transformları və requestAnimationFrame ilə idarə edir. Heç bir anda server iştirak etmir.

  1. 1
    Web Crypto qalibi seçir
    Hər hansı animasiya başlamadan əvvəl, crypto.getRandomValues bir Uint32Array-i kriptoqrafik olaraq təsadüfi 32-bit tam ədədlə doldurur. Bir modul əməliyyatı onu seçim sayına xəritələyir (baş/yazı üçün 2, çarx və ya seçici üçün N), ona görə hər nəticə tam olaraq bərabər ehtimala malikdir.
  2. 2
    Fırlanma bucağı nəticəyə enmək üçün hesablanır
    Sikkə üçün, kod düzgün üzün yuxarıda bitməsi ilə nəticələnən ən qısa əlavə fırlanmanı (cari yığılmış bucağın üstünə) hesablayır — baş 0°-da, yazı isə 180°-də — sonra həqiqi bir yuvarlanma kimi görünsün deyə 5 tam fırlanma əlavə edir. Çarx da eyni şeyi edir: qalib dilimi göstəricinin altına gətirən bucaq ofsetini tapır, 6 tam fırlanma əlavə edir və göstəricinin həmişə dilimin tam ortasında dayanmaması üçün kiçik bir təsadüfi sarsıntı tətbiq edir.
  3. 3
    CSS keçidləri və requestAnimationFrame animasiyanı idarə edir
    Sikkə və çarx tək bir yığılmış fırlanma dəyərinə tətbiq edilmiş bir kubik-bezier yumşaltma əyrisi ilə CSS transform vasitəsilə animasiya edilir — bucaq təyin edildikdən sonra kadr-başına JavaScript lazım deyil. Seçim seçici bunun əvəzinə requestAnimationFrame istifadə edir: hər kadrda, kvadratik olaraq böyüyən bir interval vurğunu irəli aparıb-aparmayacağını müəyyən edir, həmişə əvvəlcədən müəyyən edilmiş qalibdə dayanan bir slot-maşını yavaşlaması yaradır.
  4. 4
    Nəticə açılır və sessiya tarixçəsinə qeyd edilir
    Animasiya tamamlandıqda bir setTimeout işə düşür (sikkə üçün 1.3 s, çarx üçün 4.3 s) və nəticəni state-ə yazır. Sikkə rejimi baş/yazı sayları ilə 24-ə qədər atışın işlək bir sessiya tarixçəsini saxlayır. prefers-reduced-motion aktiv olan istifadəçilər animasiyanı tamamilə atlayır və nəticəni dərhal görür.

Əlaqəli Alətlər

Tez-tez Verilən Suallar