मैं तेजी से/mac_os_x में जीवन कार्यान्वयन के एक अनुकूलित खेल के साथ खेल रहा हूं। पहला कदम: कोशिकाओं की एक बड़ी ग्रिड यादृच्छिक (50% जीवित)।arc4random (मैक ओएस एक्स) कितना यादृच्छिक है? (या मैं गलत क्या कर रहा हूं?)
कोड:
for(var i=0;i<768;i++){
for(var j=0;j<768;j++){
let r = Int(arc4random_uniform(100))
let alive = (aliveOdds > r)
self.setState(alive,cell: Cell(tup:(i,j)),cells: aliveCells)
}
}
मैं एक अपेक्षाकृत वर्दी अनियमितता की उम्मीद है।
निचले बाएँ पर थोड़ा ज़ूम इन:: क्या मैं निश्चित पैटर्न है
(मैं हर 32 पंक्ति और स्तंभ पर काला करने के लिए रंग बदल दिया है, यह देखने के लिए कि पैटर्न 2 की किसी भी शक्ति के साथ लाइन में हैं)।
पैटर्न के कारण क्या कोई संकेत है? मैंने कोशिश की है:
rand()
के साथ arc4random की जगह।- प्रत्येक arc4random_uniform कॉल
- स्थानांतरण प्रदर्शन से पहले जोड़ने
arc4stir()
(सुनिश्चित करने के लिए पैटर्न डेटा, नहीं एक प्रदर्शन गड़बड़ में है) अगले चरणों के बारे
विचार?
वास्तव में बहुत अजीब बात है, आप 'drand48()' ('srand48 (int) 'के साथ बीज' बीजिंग यादृच्छिक संख्या जनरेटर) की कोशिश कर सकते हैं जो 'arc4random()' के रूप में यादृच्छिकता में अच्छा है और बीच में दोहराता है 0 और 1 (अनन्य)। यह भी देखें: http://nshipster.com/random/ – Kametrixom
मैं अधिक से अधिक संदिग्ध हूं कि यह arc4rand बिल्कुल नहीं है ... अभी भी प्रयोग कर रहा है, अगर मैं कुछ भी समझता हूं तो मैं वापस रिपोर्ट करूंगा। – pmeyer
ठीक है, अब यह आधिकारिक तौर पर परेशान है। मैं अब समस्या का पुनरुत्पादन नहीं कर सकता। मैंने इसे कई दिनों तक किया है (ज्यादातर इसे अनदेखा किया गया है, क्योंकि मैं अनुकरण भाग पर काम कर रहा था)। हालांकि, उपरोक्त पोस्ट किए गए यादृच्छिक पीढ़ी कोड के साथ, अब मैं एक समान क्षेत्र कहूंगा। कोई सुराग नहीं। – pmeyer