একাধিক ভূমিকা সম্পাদনের জন্য আইটেমের দৃষ্টান্তগুলি কীভাবে গঠন করা যায় তার জন্য গ্রেগরি ওয়েয়ারের উত্তর আমার প্রিয়।
একটি ফাইল থেকে লোড করতে:
প্রথমে, YAML ব্যবহার করুন। ওয়াইএএমএল একটি বৈশিষ্ট্যযুক্ত ডেটা বর্ণনার ভাষা; এটি তুলনামূলকভাবে দ্রুত পার্স করা যায়, মানুষ পড়া এবং সম্পাদনা করতে পারে, বাইনারি ডেটা সমর্থন করে এবং জাভা সহ বেশিরভাগ প্রোগ্রামিং ভাষার জন্য লাইব্রেরি বিদ্যমান। এটি "আমি কীভাবে ফাইলগুলি থেকে বস্তুগুলিতে ডেটা পাব?"
দ্বিতীয়ত, ফ্লাইওয়েট প্যাটার্ন ব্যবহার করুন । আপনি এই ফাইলগুলি থেকে পড়া বেশিরভাগ ডেটা স্থির। এটি উদাহরণস্বরূপ পরিবর্তন করতে যাচ্ছে না ("কুড়াল 1d10 বেস ক্ষতি করে এবং কাঠ ভেঙে দেয় তবে পাথর নয়" - এটি কোনও খেলোয়াড়ের পাঁচটি অক্ষের ক্ষেত্রে সত্য)। ওয়াইএএমএল ফাইলগুলি থেকে আপনি যা পড়েছেন তা হ'ল এই প্লাটোনিক সংজ্ঞা এবং আপনার পৃথক আইটেমের উদাহরণগুলি "আমার ভাঙ্গার আগে কতটা দোল?", "প্রতি প্লে-ইন ডেটা সহ এগুলি সম্পর্কে অজানা (এবং ধ্রুবক) রেফারেন্স রয়েছে" " আমি একটি কাস্টম নাম? ", এবং আরও।
একক অবজেক্টে ক্রস-ইনস্ট্যান্স ডেটা ভাগ করে, আপনি প্রচুর স্মৃতি সংরক্ষণ করেন এবং অবিরাম গেমের স্টেট ছাড়াই আইটেমগুলি আপডেট করা সহজ করেন (গেমস বা প্লেয়ার ডাটাবেস সংরক্ষণ করুন)।
সুতরাং আপনার শ্রেণি কাঠামোটি দেখতে এমন কিছু দেখাচ্ছে:
- শ্রেণি আইটেম - আইটেম প্রতি এক উদাহরণ
- মালিকানা - একটি অস্ত্র উদাহরণ
- মালিকানা - একটি সরঞ্জাম উদাহরণ
- একটি কাস্টম নাম, ইত্যাদি আছে
- শ্রেণি অস্ত্র - প্রতিটি আইটেমের জন্য একটি উদাহরণ (পর্যন্ত)
- একটি আইটেম কম্পোনেন্ট
- রেফারেন্স-ওয়েপনডেফ
- একটি বোনাস জাদু স্তর, ইত্যাদি
- বর্গ সরঞ্জাম - (প্রতিটি জিনিস) প্রতি এক উদাহরণ (আপ))
- একটি আইটেম কম্পোনেন্ট
- সরঞ্জামদফত উল্লেখ করে
- একটি স্থায়িত্ব আছে, ইত্যাদি।
- WeaponDef বর্গ - অস্ত্র প্রতি ধরণের এক উদাহরণ
- একটি ফাইল থেকে পড়ুন, ক্ষেত্রগুলি ধ্রুবক হওয়া উচিত।
- একটি বেস ক্ষতি পরিমাণ, 1 বা 2 হাত, ইত্যাদি আছে
- ক্লাস টুলডেফ - প্রতিটি ধরণের সরঞ্জামের একটি উদাহরণ
- একটি ফাইল থেকে পড়ুন, ক্ষেত্রগুলি ধ্রুবক হওয়া উচিত।
- এর একটি বেস স্থায়িত্ব আছে, উপকরণগুলি এটি ভেঙে দিতে পারে ইত্যাদি etc.