मैं जावास्क्रिप्ट में एक टावर रक्षा खेल बनाने की कोशिश कर रहा हूं। जो एक द्विआधारी ढेर (जो मेरा मानना है कि काफी इष्टतम है)मास अस्थिर पथदर्शी
समस्या मैंका उपयोग करता http://www.briangrinstead.com/blog/astar-search-algorithm-in-javascript:
यह सब pathfinding से अच्छी तरह से अलग हो रहा है ..
मैं इस वेबसाइट से astar कोड का उपयोग कर रहा मैं हूं कि मैं लोगों को "हमलावरों" के मार्ग को अवरुद्ध करने की अनुमति देना चाहता हूं। इसका मतलब है कि प्रत्येक "हमलावर" को अपने आप से बाहर निकलने का रास्ता ढूंढने में सक्षम होना चाहिए (क्योंकि कोई भी एक "हमलावर" को काट सकता है और उसे बाहर निकलने का अपना रास्ता ढूंढना होगा)। अब 5/6 हमलावर बिना किसी मुद्दे के किसी भी समय पथदर्शी कर सकते हैं। लेकिन कहें कि पथ 10+ हमलावरों के लिए अवरुद्ध है, उनमें से सभी को एक ही समय में अपनी पथदर्शी लिपि को आग लगाना होगा जो केवल एफपीएस को लगभग 1/2 प्रति सेकंड तक छोड़ देता है।
यह किसी भी व्यक्ति के लिए एक आम समस्या होनी चाहिए जिसकी कई संस्थाएं किसी भी समय पथदर्शी हो रही हैं, इसलिए मुझे लगता है कि मेरे दृष्टिकोण से बेहतर तरीका होना चाहिए।
तो मेरा सवाल यह है कि: सबसे प्रभावी तरीके से कई "बॉट्स" पर द्रव्यमान पथदर्शी एल्गोरिदम लागू करने का सबसे अच्छा तरीका क्या है।
धन्यवाद,
जेम्स
ऐसा नहीं है कि कोड में 'findGraphNode' की तरह दिखता है, रैखिक-समय लगता है, जबकि यह लगातार समय (हैश तालिका के साथ ले रही किया जाना चाहिए), ताकि कार्यान्वयन इष्टतम से दूर है। –
मैं देखता हूं कि मैं इसे थोड़ा तेज कर सकता हूं या नहीं। लेकिन मुझे लगता है कि यहां तक कि अधिक कुशल पथ खोज के साथ भी मैं धीमी फ्रेमरेट्स के साथ समाप्त हो जाऊंगा यदि मैं बॉट्स को आजमाता हूं और पथदर्शी करता हूं .. मुझे लगता है कि मेरी सर्वश्रेष्ठ शर्त वास्तव में प्रति फ्रेम एक बार पूरे नक्शे को पथदर्शी कर रही है और फिर दिशा निर्धारित कर रही है बॉट्स के लिए प्रत्येक पासने योग्य ब्लॉक पर .. – james
@james अगर यह सबसे अधिक टावर रक्षा की तरह कुछ है, मोटे तौर पर एक स्क्रीन के लायक मानचित्र और कोई जटिल कॉलिसन नहीं है (यानी बॉट एक-दूसरे या अन्य चलती वस्तुओं के साथ टकराव नहीं करते हैं, या आप इसे अलग से संभालते हैं) तो हां, मुझे लगता है कि पूरे मानचित्र के लिए पथों की गणना करना सबसे अच्छा होगा।वास्तव में, आपको शायद हर फ्रेम के पूरे मानचित्र को फिर से समझना नहीं चाहिए। यदि आप एल्गोरिदम बनाने में सावधान हैं, तो आप यह निर्धारित करने में सक्षम होना चाहिए कि उपयोगकर्ता परिवर्तन से कौन से नोड प्रभावित होते हैं, और उन नोड्स से केवल 'अपस्ट्रीम' का पुनर्मूल्यांकन करते हैं। दिलचस्प लगता है! – Tim