संबंधपरक दृष्टिकोण
आप इसे अनलॉकर्स के बीच संबंध के रूप में वर्णित करते हैं और इस ट्यूटोरियल में समान अनलॉक किए जाते हैं । मेरा सुझाव है कि संबंधपरक बीजगणित और डेटाबेस के बारे में अधिक जानें। वे कैसे डेटा मॉडल करने के लिए अच्छा तरीका है। यदि आप डेटाबेस से जानकारी की क्वेरी करना सीखते हैं, तो आप डेटा को आसानी से मॉडल कर सकते हैं।
मुझे नहीं पता कि आप मॉडलिंग संबंधों के बारे में कितना जानते हैं। उस ट्यूटोरियल को आपकी सहायता करनी चाहिए।
एक हल
मुझे लगता है कि वाह वास्तविकता (ईएचएम) के रूप में काम करते हैं, कि यह है
- प्रतिभा कई (अन्य) प्रतिभाओं को अनलॉक करती है
- प्रतिभा कई (अन्य) प्रतिभाओं द्वारा अनलॉक की जाती है।
यह N: N संबंध है, जिसका तात्पर्य है कि आपको "मध्यम पुरुष" की दो प्रतिभाओं के बीच एक नया संबंध चाहिए:
(talent who unlocks id, talent who is unlocked)
इस तरह आपके पास प्रतिभा ए अनलॉकिंग बी, सी और डी (ए, बी), (ए, सी), (ए, डी) और प्रतिभा वाई द्वारा एक्स, जेड और डब्ल्यू (एक्स, वाई), ( जेड, वाई), (डब्ल्यू, वाई))। अनिवार्य / प्रक्रियात्मक / वस्तु-उन्मुख भाषा में, आप इसे वहाँ जैसे जोड़े की सूची / सरणी के रूप में करेंगे:
var unlocks_unlocked = [[A, B],[A,C],[A,D],[X,Y],[Z,Y],[W,Y]];
तो "वास्तविक दुनिया" उदाहरण के लिए आपके पास हो सकता है:
... ["running fast", "jumping superhigh"], ["antigravity's child", "jumping superhigh"]
और इसका मतलब है कि "जंपिंग सुपरहिग" आपको "तेज दौड़ने" और "एंटीग्रेविटी के बच्चे" प्रतिभाओं के बाद प्राप्त होती है।
अन्य समाधान
मैंने हाल ही में डियाब्लो नहीं खेला है लेकिन यह हो सकता है, कि यह केवल था:
- प्रतिभा कई अन्य प्रतिभाओं को अनलॉक करती है
- प्रतिभा को सिर्फ एक प्रतिभा द्वारा अनलॉक किया जाता है।
यह 1 है: एन संबंध:
You put "is unlocked by this talent's id" variable into talent's structure
पसंद:
var Talent[8] = { "name": "superpower", "unlocked by": "being Clark Kent"};
UserTalent
तालिका में किसी ऑटोकै कॉलम की जरूरत नहीं है।user
औरtalent
केवल दो कॉलम और एक संयुक्त कुंजी हो सकती है: वे कभी भी डुप्लिकेट नहीं होंगे और आप कभीid
भी क्वेरी नहीं करेंगे ।