আমি গেম ডোমিনিয়ন একটি কম্পিউটার সংস্করণ লিখছি । এটি একটি টার্ন-ভিত্তিক কার্ড গেম যেখানে অ্যাকশন কার্ড, ট্রেজার কার্ড এবং বিজয় পয়েন্ট কার্ড কোনও খেলোয়াড়ের ব্যক্তিগত ডেকে জমা হয়। আমার ক্লাস স্ট্রাকচারটি বেশ উন্নত হয়েছে এবং আমি গেমটির লজিক ডিজাইন করতে শুরু করছি। আমি পাইথন ব্যবহার করছি এবং আমি পরে পাইগামের সাথে একটি সাধারণ জিইউআই যুক্ত করতে পারি।
খেলোয়াড়দের টার্ন সিকোয়েন্সটি খুব সাধারণ স্টেট মেশিন দ্বারা পরিচালিত হয়। ঘড়ির কাঁটা পেরিয়ে যায় এবং কোনও খেলোয়াড় গেমটি শেষ হওয়ার আগেই প্রস্থান করতে পারে না। একক পালা খেলাও একটি রাষ্ট্রীয় যন্ত্র; সাধারণভাবে, খেলোয়াড়রা একটি "অ্যাকশন পর্ব", একটি "ক্রয়ের ধাপ" এবং একটি "ক্লিন-আপ পর্ব" (সেই ক্রমে) অতিক্রম করে। প্রশ্নের উত্তরের ভিত্তিতে কীভাবে টার্ন ভিত্তিক গেম ইঞ্জিন বাস্তবায়ন করবেন? , রাষ্ট্রীয় যন্ত্রটি এই পরিস্থিতির জন্য একটি মানক কৌশল।
আমার সমস্যাটি হ'ল কোনও খেলোয়াড়ের অ্যাকশন পর্বের সময়, তিনি এমন একটি অ্যাকশন কার্ড ব্যবহার করতে পারেন যা তার নিজের বা অন্য খেলোয়াড়দের এক বা একাধিক ক্ষেত্রে পার্শ্ব প্রতিক্রিয়াযুক্ত। উদাহরণস্বরূপ, একটি অ্যাকশন কার্ড কোনও খেলোয়াড়কে বর্তমান টার্নের সমাপ্তির সাথে সাথেই দ্বিতীয় বারটি নেওয়ার অনুমতি দেয়। অন্য একটি অ্যাকশন কার্ডের ফলে অন্য সমস্ত খেলোয়াড়দের হাত থেকে দুটি কার্ড ফেলে দেওয়া হয়। তবুও অন্য অ্যাকশন কার্ডটি বর্তমান পালনের জন্য কিছুই করে না, তবে খেলোয়াড়কে তার পরবর্তী সময়ে অতিরিক্ত কার্ড আঁকতে দেয়। জিনিসগুলিকে আরও জটিল করে তোলার জন্য, খেলায় প্রায়শই নতুন বিস্তৃতি ঘটে যা নতুন কার্ড যুক্ত করে। আমার কাছে মনে হয় যে প্রতিটি অ্যাকশন কার্ডের ফলাফলগুলিকে গেমের স্টেট মেশিনে কঠোরভাবে কোডিং করা কুৎসিত এবং অপরিবর্তনীয় উভয়ই হতে পারে। টার্ন-ভিত্তিক কৌশল লুপের উত্তর এই সমস্যার সমাধানের জন্য নকশাগুলিকে সম্বোধন করে এমন স্তরের বিশদে যায় না।
মোড় নেওয়ার জন্য সাধারণ প্যাটার্নটি পরিবর্তনের মধ্যে সংঘটিত ক্রিয়াকলাপগুলির মাধ্যমে সংশোধন করা যেতে পারে এই বিষয়টি বোঝার জন্য আমার কোন ধরণের প্রোগ্রামিং মডেল ব্যবহার করা উচিত? গেম অবজেক্টটি কি প্রতিটি অ্যাকশন কার্ডের প্রভাব ট্র্যাক করে রাখবে? বা, যদি কার্ডগুলি তাদের নিজস্ব প্রভাবগুলি প্রয়োগ করে (যেমন একটি ইন্টারফেস প্রয়োগ করে), তাদের পর্যাপ্ত শক্তি দেওয়ার জন্য কোন সেটআপের প্রয়োজন? আমি এই সমস্যার কয়েকটি সমাধান চিন্তা করেছি, তবে আমি ভাবছি যে এটির সমাধানের কোনও মানক উপায় আছে কিনা। বিশেষত, আমি জানতে চাইব কোন বস্তু / শ্রেণি / যে ক্রিয়াকলাপটি প্রতিটি খেলোয়াড়কে খেলতে যাওয়া অ্যাকশন কার্ডের ফলস্বরূপ অবশ্যই করা উচিত এবং যেগুলি কীভাবে স্বাভাবিক ক্রমের সাময়িক পরিবর্তনের সাথে সম্পর্কিত tes টার্ন রাষ্ট্র মেশিন।