Kyauta Jefa Kudi & Zagayen Wuri

Jefa kudi na zahiri, zagaya wani zagaye da za a iya keɓancewa, ko zaɓi bazuwar daga jerin zaɓuɓɓuka. Yana amfani da bazuwar amintacce ta browser ɗinka — ba jefa hukuma da za a iya tabbatarwa ba, don haka ka guji gasa da aka tsara.

Yana aiki babu haɗi da zarar an loda shi

🔒 Duk uku suna amfani da injin bazuwar mai aminci na burauzarka: ana zaɓar sakamako tukuna, sannan a yi motsi — kudin gaskiya ne 50/50, ana juya kekewa zuwa sakamakon da aka riga aka zaɓa, kuma mai zaɓin ba shi da son kai. Babu abin da ke barin na'urarka. Wannan adalci ne don amfani na yau da kullum, amma ba zaɓe ne na jama'a mai tantancewa ba, don haka ka guji gasa masu ƙa'ida ko shawarwari masu daraja mai girma.

Yadda Yake Aiki

Dukkan yanayoyi guda uku — juyar da tsabar kuɗi, jujjuya keke, da zaɓen zaɓi — suna amfani da Web Crypto API na burauza da aka gina (crypto.getRandomValues) don samar da sakamakon nasara, sannan suna tuka motsi gaba ɗaya a gefen abokin ciniki da canjin CSS da requestAnimationFrame. Babu uwar garke da abin ya shafa a kowane lokaci.

  1. 1
    Web Crypto yana zaɓen wanda ya ci nasara
    Kafin duk motsi ya fara, crypto.getRandomValues yana cika Uint32Array da lamba mai lamba 32-bit ta bazuwar ta cryptographic. Wani lissafin modulo yana mayar da shi zuwa yawan zaɓuɓɓuka (2 don heads/tails, N don keke ko zaɓen), don haka kowane sakamako yana da yiwuwa daidai daidai.
  2. 2
    An lissafta kusurwar juyawa don isa ga sakamako
    Don tsabar kuɗi, lambar tana lissafta gajeriyar ƙarin juyawa (a kan kusurwar da aka tara na yanzu) wanda yake ƙarewa da fuska daidai a sama — heads a 0°, tails a 180° — sannan yana ƙara juyawa cikakke 5 don yayi kama da juyawa na gaskiya. Keken yana yin iri ɗaya: yana gano ƙarin kusurwa wanda yake kawo yankin nasara ƙarƙashin alamar, yana ƙara juyawa cikakke 6, kuma yana amfani da wani ɗan girgiza bazuwar don alamar ba ta tsayawa koyaushe a tsakiyar yankin ba.
  3. 3
    Sauyawar CSS da requestAnimationFrame suna tuka motsin
    Tsabar kuɗi da keke suna motsi ta hanyar canjin CSS tare da lanƙwasar sauƙaƙawa ta cubic-bezier da aka yi amfani da ita a kan ƙimar juyawa guda ɗaya da aka tara — babu bukatun JavaScript a kowace firam da zarar an saita kusurwar. Zaɓen zaɓi yana amfani da requestAnimationFrame maimakon haka: a kowace firam, wani tazara mai girma na quadratic yana tantance ko za a ci gaba da haske, yana samar da raguwa irin ta na'urar slot-machine wanda koyaushe yake tsayawa a kan wanda aka riga aka tantance a matsayin nasara.
  4. 4
    An bayyana sakamakon kuma an rubuta shi zuwa tarihin zaman
    Wani setTimeout yana harba idan motsin ya ƙare (1.3 s don tsabar kuɗi, 4.3 s don keke) kuma yana rubuta sakamakon zuwa yanayi. Yanayin tsabar kuɗi yana ci gaba da tarihin zaman har zuwa juyawa 24 tare da ƙidayar heads/tails. Masu amfani da prefers-reduced-motion a kunne suna tsallake motsi gaba ɗaya kuma suna ganin sakamakon nan take.

Kayan Aiki Masu Alaƙa

Tambayoyin Da Ake Yi Sau Da Dama