मैं मोबाइल उपकरणों के लिए 2 डी स्पेस गेम विकसित कर रहा हूं, लेकिन यह वास्तव में जटिल हो गया है और मेरा समाधान फिर से भ्रमित है और बहुत सारे कोड सेगमेंट का उत्पादन करता है।
मेरे पास एक विश्व स्तर है, जिसमें मेरे पास विभिन्न वस्तुओं की बहु-सूचियाँ हैं जैसे:
List<Enemy> enemys;
List<Projectile> projectiles;
List<Collectable> collectables;
List<Asteroid> asteroids;
List<Effect> effects;
..
प्रत्येक सूची विश्व वर्ग द्वारा अद्यतन की जाती है। लेकिन सभी नहीं .. प्रत्येक दुश्मन इंजन की एक सूची है, और दुश्मन द्वारा अद्यतन किया जाता है, जो हथियारों की सूची है। अब प्रत्येक इंजन विश्व सूची 'प्रभावों' के लिए कुछ अग्नि प्रभाव जोड़ता है, और प्रत्येक शस्त्रागार दुनिया की सूची में 'प्रोजेक्टाइल' के लिए प्रोजेक्टाइल जोड़ता है। इन सभी वर्गों में अलग-अलग पैरामीटर हैं, इसलिए मुझे प्रत्येक वर्ग के लिए एक अतिरिक्त अपडेट और अतिरिक्त रेंडर फ़ंक्शन की आवश्यकता है।
कम से कम वे 'गेमऑब्जेक्ट' के सभी चिल्ड हैं जो उन्हें स्थिति, वेग और त्वरण वैक्टर जैसी बुनियादी चीजें प्रदान करते हैं, पॉलीगनों को बाध्य करते हैं और जैसे आवेदन और एक परिमित राज्य मशीन
क्या ऐसा करने का एक बेहतर या अधिक सामान्य तरीका है? एक कैच-ऑल क्लास की तरह जिसमें सभी अलग-अलग ऑब्जेक्ट्स के लिए सभी संभव पैरामीटर और विधियां शामिल हैं। (मुझे लगता है कि यह और भी भ्रामक कोड उत्पन्न करेगा)