मैं जिस 2 डी गेम के साथ काम कर रहा हूं, गेम इंजन मुझे देने में सक्षम है, प्रत्येक इकाई के लिए, अन्य इकाइयों की सूची जो इसके व्यू रेंज में हैं।
मैं जानना चाहूंगा कि क्या समूहों में इकाइयों को क्रमबद्ध करने के लिए एक स्थापित एल्गोरिथ्म है , जहां प्रत्येक समूह को उन सभी इकाइयों द्वारा परिभाषित किया जाएगा जो एक दूसरे से "जुड़े हुए हैं" (यहां तक कि दूसरों के माध्यम से भी)।
एक उदाहरण प्रश्न को बेहतर ढंग से समझने में मदद कर सकता है (ई = शत्रु, ओ = स्वयं की इकाई)। पहला डेटा जो मुझे गेम इंजन से मिलेगा:
E1 can see E2, E3, O5
E2 can see E1
E3 can see E1
E4 can see O5
E5 can see O2
E6 can see E7, O9, O1
E7 can see E6
O1 can see E6
O2 can see O5, E5
O5 can see E1, E4, O2
O9 can see E6
फिर मुझे समूहों का अनुसरण इस प्रकार करना चाहिए:
G1 = E1, E2, E3, E4, E5, O2, O5
G2 = O1, O9, E6, E7
यह सुरक्षित रूप से माना जा सकता है कि देखने के क्षेत्र के लिए एक सराहनीय संपत्ति है: [यदि ए बी देखता है, तो बी ए देखता है]।
बस स्पष्ट करने के लिए: मैंने पहले से ही एक भोले-भाले कार्यान्वयन को लिखा है जो गेम इंजन की जानकारी की प्रत्येक पंक्ति पर लूप करता है, लेकिन इसके लुक से, यह एक समस्या सामान्य रूप से पर्याप्त लगती है जिसके लिए गहराई से अध्ययन किया गया है और विभिन्न स्थापित एल्गोरिदम हैं (शायद पासिंग कुछ पेड़ जैसी संरचना के माध्यम से?)। मेरी समस्या यह है कि मुझे अपनी समस्या का वर्णन करने का कोई तरीका नहीं मिला जो कि उपयोगी Google हिट लौटाए।
आपकी मदद के लिए अग्रिम धन्यवाद!