हर बार एक बार जब मैं एक और मजेदार प्रोजेक्ट के रूप में क्लासिक एडवेंचर टेक्स्ट-आधारित-गेम (पायथन में, इस बार) बनाने की कोशिश करने के लिए अपनी अन्य परियोजनाओं से ब्रेक लेना चाहता हूं, लेकिन मेरे पास हमेशा आइटम सिस्टम को लागू करने के लिए डिज़ाइन समस्याएं होती हैं Iकिसी ऑब्जेक्ट ओरिएंटेड गेम में आइटम प्रबंधित करना
मैं खेल के आइटमों को एक आधार Item
कक्षा से उतरने के लिए चाहता हूं, जिसमें कुछ आइटम हैं, जिनमें हर वस्तु है, जैसे क्षति और वजन। मेरी समस्या तब शुरू होती है जब मैं इन वस्तुओं में कुछ कार्यक्षमता जोड़ने की कोशिश करता हूं। जब किसी वस्तु का नुकसान एक सीमा से पहले हो जाता है, तो इसे नष्ट किया जाना चाहिए। और मेरी समस्या है: मुझे वास्तव में यह नहीं पता कि इसे कैसे पूरा किया जाए।
के बाद से del self
एक लाख विभिन्न कारणों से, (संपादन के लिए काम नहीं करेगा:। मैं जानबूझकर 'डेल' के उपयोग के कुछ मुझे पता है कि गलत है के रूप में उपलब्ध कराने हूँ मुझे पता है कि कचरा संग्रहण है, और यह कैसे नहीं है मैं क्या चाहता हूं।) मुझे यह कैसे करना चाहिए (और अन्य समान कार्य)? क्या प्रत्येक आइटम में इसके कंटेनर (प्लेयर, मुझे लगता है) के किसी प्रकार का संदर्भ होना चाहिए और खुद को हटाने के लिए 'पूछें'?
पहली बात जो दिमाग में आती है वह एक बड़ा शब्दकोश है जिसमें गेम में प्रत्येक आइटम होता है, और प्रत्येक ऑब्जेक्ट का इस सूची का संदर्भ होगा, और दोनों के पास यह अपनी अनूठी आईडी है और पता है। मुझे यह समाधान बिल्कुल पसंद नहीं है और मुझे नहीं लगता कि यह बिल्कुल सही तरीका है। क्या किसी के पास कोई सुझाव है?
संपादित करें: मुझे बहुत से लोग यह सोच रहे हैं कि मैं कचरा संग्रह के बारे में चिंतित हूं। मैं किस बारे में बात कर रहा हूं कचरा संग्रह नहीं है, लेकिन वास्तव में गेमप्ले से ऑब्जेक्ट को हटा रहा है। मुझे यकीन नहीं है कि किस वस्तु को हटाने की शुरुआत की जानी चाहिए, आदि
मैं उलझन में नहीं हूँ। मैं दोनों के बीच का अंतर समझता हूं। मैं यह दिखाने के लिए 'डेल' उदाहरण का उपयोग कर रहा था कि क्या काम नहीं करता है, और मैं क्या _didn't_ चाहता हूं। मुझे अब एहसास है कि यह सिर्फ भ्रम का कारण बनता है। –