a game में, हम इकाइयों का चयन करने के लिए 'colour picking' नामक तकनीक का उपयोग करते हैं।छद्म सूची याद किए बिना छद्म-यादृच्छिक क्रम में एक सूची में इटरेटिंग
इसका मतलब है कि प्रत्येक दृश्य इकाई को एक अद्वितीय रंग दिया जाता है।
यहाँ एक दृश्य रंग पिकिंग के लिए तैयार की एक उदाहरण है:
कुछ उपयोगकर्ताओं को 16-बिट प्रदर्शित करता है हो सकता है के रूप में, इन रंगों रेंज 0..64K में हो सकता है।
हालांकि, अगर हम इकाइयों को वृद्धिशील रंग देते हैं उदा। यूनिट 0 0 है, यूनिट एन एन है तो मनुष्यों को डिबग करने के लिए रंग बहुत कठिन होते हैं। इकाइयां लगभग अलग-अलग हैं।
हम इकाइयों को अद्वितीय और विशिष्ट रंग देना चाहते हैं।
हम वर्तमान में टकराव की जांच के लिए प्रयुक्त रंगों को संग्रहीत करने के लिए एक बाइनरी पेड़ (सी ++ map
) का उपयोग करके एक निश्चित चरण में वृद्धि कर रहे हैं। यह कम अंत हार्डवेयर पर एक प्रदर्शन समस्या है। यहां तक कि यदि यह हैश तालिका थी और string
का उपयोग करने से बचा, तो गेम फ्रेम में अस्थायी स्मृति आवंटन को फेंक दिया जाना चाहिए। इसलिए कोड को अनुकूलित करने के बजाय इसे अनुकूलित करने के बजाय, मैं यह जानना चाहता हूं कि इतिहास को पूरी तरह से बनाए रखने से बचने के तरीके हैं या नहीं।
क्या 0.संख्याओं पर पुनरावृत्ति करने का कोई तरीका है। एक बड़े चरण या यादृच्छिक रूप से 64.6 संभावित मानों का उपयोग किया जाता है, और टकराव से बचने के लिए पहले से आवंटित रंगों के इतिहास का उपयोग करने से बचते हैं?
(यह एक से अधिक 64K स्क्रीन पर दिखाई इकाइयों हम उस मामले को संभालने के लिए की जरूरत नहीं है कि देखते हैं कि इतना संभावना नहीं है!)
16 से बिट पूर्णांक का उपयोग करके मान 0 के माध्यम से संग्रहीत किया जा सकता है, इसलिए यदि आप एक सरणी और [फिशर-येट्स शफल] (https://en.wikipedia.org/wiki/Fisher-Yates_shuffle) का उपयोग करना चाहते थे, आपको अगले इकाई के रंग के लिए केवल 128 के सरणी और एक 16-बिट इंडेक्स की आवश्यकता होगी। –
मुझे नहीं लगता कि मैं इस भाग को समझता हूं: "हालांकि, अगर हम इकाइयों को बढ़ते रंग देते हैं जैसे यूनिट 0 0 है, यूनिट एन है तो मनुष्यों के लिए रंगों को डीबग करना बहुत कठिन होता है। इकाइयां लगभग अलग-अलग होती हैं।" क्या आपका मतलब यह है कि अभ्यास का बिंदु एक दूसरे के पास समान रंग होने से बचने के लिए है ?? –
कैसे [एलएफएसआर] (http://en.wikipedia.org/wiki/Linear_feedback_shift_register#Some_polynomials_for_maximal_LFSRs) के बारे में? – BartoszKP