ነፃ ሳንቲም ገልብጥ እና ጎማ ማሽከርከሪያ
ምናባዊ ሳንቲም ገልብጡ፣ የሚስተካከል ጎማ ያሽከርክሩ ወይም ከዝርዝር አማራጮች በዘፈቀደ ይምረጡ። የአሳሽዎን cryptographically secure ዘፈቀደነት ይጠቀማል — ተረጋገጪ ይፋዊ ውጤት አይደለም፣ ስለዚህ ደንብ የተደረገባቸው ውድድሮች ውስጥ አይጠቀሙ።
🔒 ሁሉም ሦስቱ የብራውዘርዎን ክሪፕቶግራፊያዊ ደህንነቱ የተጠበቀ የዘፈቀደ ማመንጫ ይጠቀማሉ፦ ውጤቱ መጀመሪያ ይመረጣል፣ ከዚያ ይታያል — ሳንቲሙ እውነተኛ 50/50 ነው፣ መንኮራኩሩ ወደ ቀድሞ የተመረጠ ውጤቱ ይሽከረከራል፣ እና መምረጫው ወገንተኛ አይደለም። ምንም ነገር ከመሣሪያዎ አይወጣም። ይህ ለተራ አጠቃቀም ፍትሃዊ ነው፣ ግን የሚረጋገጥ ይፋዊ ዕጣ አይደለም፣ ስለዚህ ለተቆጣጣሪ ውድድሮች ወይም ከፍተኛ-ዋጋ ውሳኔዎች አይጠቀሙበት።
እንዴት እንደሚሠራ
ሦስቱም ሁነታዎች — ሳንቲም መገልበጥ፣ ጎማ ማሽከርከር እና አማራጭ መምረጥ — አሸናፊውን ውጤት ለማመንጨት የአሳሹን አብሮገነብ Web Crypto API (crypto.getRandomValues) ይጠቀማሉ፤ ከዚያም እንቅስቃሴውን ሙሉ በሙሉ በአሳሹ ውስጥ በCSS transform እና በrequestAnimationFrame ያከናውናሉ። በየትኛውም ደረጃ አገልጋይ አይሳተፍም።
- 1Web Crypto አሸናፊውን ይመርጣልማንኛውም እንቅስቃሴ ከመጀመሩ በፊት crypto.getRandomValues አንድ Uint32Arrayን በምስጠራ ደረጃ በዘፈቀደ በተገኘ ባለ 32 ቢት ኢንቲጀር ይሞላል። የmodulo ስሌት ቁጥሩን ከአማራጮቹ ብዛት ጋር ያዛምዳል (ለዘውድ/ጎፈር 2፣ ለጎማው ወይም ለመራጩ N)፤ ስለዚህ እያንዳንዱ ውጤት በትክክል እኩል ዕድል አለው።
- 2የማሽከርከሪያ ማዕዘኑ ውጤቱ ላይ እንዲያርፍ ይሰላልለሳንቲሙ ኮዱ ትክክለኛው ገጽ ወደ ላይ እንዲሆን (ዘውድ በ0°፣ ጎፈር በ180°) አሁን ባለው ድምር ማዕዘን ላይ የሚጨመረውን አጭሩን ተጨማሪ ዙር ያሰላል፣ ከዚያም እውነተኛ መገልበጥ እንዲመስል 5 ሙሉ ዙሮችን ይጨምራል። ጎማውም እንደዚሁ ነው፤ አሸናፊውን ክፍል ከጠቋሚው ሥር የሚያመጣውን የማዕዘን ልዩነት ያገኛል፣ 6 ሙሉ ዙሮችን ይጨምራል፣ እና ጠቋሚው ሁልጊዜ በክፍሉ መሀል ላይ እንዳይቆም ትንሽ የዘፈቀደ ልዩነት ያክላል።
- 3የCSS ሽግግሮች እና requestAnimationFrame እንቅስቃሴውን ያከናውናሉሳንቲሙ እና ጎማው የሚንቀሳቀሱት በአንድ የተጠራቀመ የማሽከርከሪያ እሴት ላይ cubic-bezier የፍጥነት ኩርባ በተተገበረበት CSS transform ነው — ማዕዘኑ ከተዘጋጀ በኋላ በየፍሬሙ JavaScript አያስፈልግም። አማራጭ መራጩ ግን requestAnimationFrame ይጠቀማል፤ በእያንዳንዱ ፍሬም በካሬ የሚያድግ ክፍተት ማድመቂያው ወደፊት ይሂድ እንደሆነ ይወስናል፤ ይህም እንደ ቁማር ማሽን ቀስ እያለ የሚቆም እና ሁልጊዜ አስቀድሞ በተወሰነው አሸናፊ ላይ የሚያርፍ እንቅስቃሴ ይፈጥራል።
- 4ውጤቱ ይገለጣል እና በክፍለ-ጊዜው ታሪክ ውስጥ ይመዘገባልእንቅስቃሴው ሲያበቃ (ለሳንቲሙ 1.3 s፣ ለጎማው 4.3 s) setTimeout ይነሳና ውጤቱን ወደ state ይጽፋል። የሳንቲም ሁነታው እስከ 24 የሚደርሱ መገልበጦችን ከዘውድ/ጎፈር ቆጠራ ጋር በክፍለ-ጊዜ ታሪክ ውስጥ ይይዛል። prefers-reduced-motion ያበሩ ተጠቃሚዎች እንቅስቃሴውን ሙሉ በሙሉ ይዘሉና ውጤቱን ወዲያውኑ ያያሉ።
ተዛማጅ መሳሪያዎች
የዘፈቀደ ቁጥር ፈጣሪ
በማንኛውም ክልል ውስጥ የዘፈቀደ ቁጥሮችን ይፍጠሩ፣ ልዩ የቁጥር ዝርዝሮችን ይፍጠሩ ወይም ዳይስ ያሽከርክሩ። Cryptographically secure ዘፈቀደነትን ይጠቀማል።
የዘፈቀደ ቡድን ፈጣሪ
የስሞች ዝርዝርን ወደ ሚዛናዊ የዘፈቀደ ቡድኖች ይከፋፍሉ — በቡድን ብዛት ወይም የቡድን መጠን። Cryptographically fair ቅልቅል፣ ፈጣን ድጋሚ ቅልቅል።
የቀለም መምረጫ እና ፓሌት ፈጣሪ
ቀለሞችን ይምረጡ፣ ከ HEX/RGB/HSL መካከል ቀይሩ፣ እና ተስማሚ ፓሌቶችን ፍጠሩ።