Kyauta Mai Ƙirƙirar Lamba Bazuwar
Ƙirƙiri lambobi bazuwar a kowane zango, ƙirƙiri jerin lambobi na musamman, ko jefa dice. Yana amfani da bazuwar amintacce ta hanyar cryptography.
🔒 Kowace lamba tana amfani da bazuwar mai aminci na burauzarka (crypto.getRandomValues) — na gaskiya adalci, ba Math.random() mai iya hasashewa ba. Ba a aika komai zuwa ko'ina. Duk da haka, kada ka yi amfani da waɗannan lambobin don ƙirƙirar maɓallan sirri, alamomin tsaro, ko manhajojin caca/lottery da ke ƙarƙashin doka, waɗanda ke buƙatar tushen bazuwar da aka duba kuma aka tabbatar da su ta na'ura.
Yadda Yake Aiki
Kowace lamba da wannan kayan aikin yake ƙirƙirawa tana zuwa daga crypto.getRandomValues — tushen bazuwar mai aminci na cryptographic na burauza, iri ɗayan da ake amfani da shi don ƙirƙirar maɓallin TLS. Wani algorithm na rejection-sampling da aka rubuta da hannu yana zaune a saman don kawar da son kai na modulo wanda yake shafar aiwatarwar Math.random() % range sauƙi, ciki har da zango mafi fadi daga 2^32 ta lissafin BigInt.
- 1Saita zangonka da yanayiZaɓi tsakanin lamba guda, jerin yawa (har zuwa 1000), ko die polyhedral (d4 har zuwa d100). Don jerin za ka iya kuma bukatar ƙimomi na musamman kuma zaɓi jerawa da suka hau.
- 2crypto.getRandomValues yana ɗaukar entropy danyeAna ɗaukar kowace lamba daga wani Uint32Array (ko BigUint64Array don zango mafi fadi daga 2^32) da RNG na cryptographic na burauza ya cika — ba Math.random() ba. Rejection sampling sannan tana zubar da ƙimomin da za su karkatar da rabon, don haka kowace cikakkiyar lamba a zangonka tana da yiwuwa daidai daidai.
- 3Yanayin ƙima-na-musamman yana amfani da Fisher-Yates ko bin diddigin rejectionLokacin da yanayin na-musamman a kunne yake kuma zangon yana dacewa a ƙwaƙwalwa (har zuwa 100,000 ƙima), kayan aikin yana gina cikakken tarin kuma yana jujjuya shi da Fisher-Yates. Don zango mai girma sosai yana maimakon haka ɗaukar ƙimomi guda-guda, yana tsallake maimaitawa — yana guje wa farashin ƙwaƙwalwar gina jeri na biliyoyin-shigarwa.
- 4Sakamako suna zuwa da amsa mai motsi kuma suna zama a tarihin zamanƘimomin ƙarshe suna motsi zuwa matsayi (wani jujjuya slot-machine don lambobi, die masu jujjuya don yanayin die) ta amfani da requestAnimationFrame, sannan suna bayyana a wani log na tarihi mai iya sakewa da za ka iya kwafi a kowane lokaci. Babu wani da yake barin burauzarka.
Kayan Aiki Masu Alaƙa
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.
Mai Ƙirƙirar Ƙungiyoyi Bazuwar
Raba jerin sunaye zuwa ƙungiyoyi bazuwar masu daidaito — bisa adadin ƙungiyoyi ko girman ƙungiya. Gauraya bisa gaskiya ta hanyar cryptography, sake gauraya nan take.
Kebul Generator
Ƙirƙirar kalmomin sirri masu ƙarfi, bazuwar tare da tsayin al'ada, nau'ikan halaye, da keɓancewa. Babu iyaka, babu shiga.