ট্র্যাক
/
x86-64 Assembly
x86-64 Assembly
/
অনুশীলনী
/
D&D ক্যারেক্টার
D&D ক্যারেক্টার

D&D ক্যারেক্টার

মধ্যম

ভূমিকা

কয়েক সপ্তাহের অপেক্ষার পর, আপনি আর আপনার বন্ধুরা একসঙ্গে জড়ো হলেন আপনার জীবনের প্রথম Dungeons & Dragons (D&D) গেম খেলতে। যেহেতু এটি গেমটির প্রথম সেশন, তাই প্রত্যেক খেলোয়াড়কে খেলার জন্য একটি চরিত্র বানাতে হবে। চরিত্রের ক্ষমতাগুলো নির্ধারিত হয় ছয় দিকের পাশা গড়ে, কিন্তু পাশাগুলো কোথায়? আচমকা ধাক্কা খেয়ে আপনি বুঝতে পারেন, আপনার বন্ধুরা অপেক্ষা করছে আপনিই পাশা বানিয়ে আনবেন বলে; D&D খেলার আইডিয়াটা তো আপনারই ছিল! আতঙ্কিত হয়ে আপনি বুঝতে পারেন যে আপনি পাশা আনতে ভুলে গেছেন, যার মানে D&D গেম হবে না। যেহেতু আপনার প্রাথমিক প্রোগ্রামিং দক্ষতা আছে, তাই আপনি দ্রুত একটি সমাধান বের করেন: পাশা গড়ানো সিমুলেট করার জন্য একটি প্রোগ্রাম লিখবেন।

নির্দেশনা

একটি Dungeons & Dragons গেমে প্রতিটি খেলোয়াড় প্রথমে নিজের খেলার জন্য একটি ক্যারেক্টার তৈরি করে। অন্যান্য বিষয়ের পাশাপাশি এই ক্যারেক্টারের থাকে ছয়টি অ্যাবিলিটি: strength, dexterity, constitution, intelligence, wisdom এবং charisma. এই ছয়টি অ্যাবিলিটির স্কোর ঠিক করা হয় র‍্যান্ডমভাবে। এটি করার জন্য আপনি ছয় দিকের চারটি পাশা গড়িয়ে সবচেয়ে বড় তিনটি পাশার যোগফল লিখে রাখেন। এভাবে আপনি ছয়বার এটি করেন, প্রতিটি অ্যাবিলিটির জন্য একবার।

আপনার ক্যারেক্টারের শুরুর হিটপয়েন্ট হলো 10 + আপনার ক্যারেক্টারের constitution মডিফায়ার। আপনার ক্যারেক্টারের constitution থেকে 10 বিয়োগ করে, 2 দিয়ে ভাগ করে এবং নিচের দিকে রাউন্ড করে আপনি constitution মডিফায়ার বের করেন।

উপরের নিয়মগুলো মেনে একটি র‍্যান্ডম ক্যারেক্টার জেনারেটর লিখুন।

উদাহরণ হিসেবে, চারটি পাশা ছোড়ার ছয়টি ফল এমন হতে পারে:

  • 5, 3, 1, 6: আপনি 1 বাদ দেন এবং 5 + 3 + 6 = 14 যোগ করেন, যা আপনি strength-এ অ্যাসাইন করেন।
  • 3, 2, 5, 3: আপনি 2 বাদ দেন এবং 3 + 5 + 3 = 11 যোগ করেন, যা আপনি dexterity-এ অ্যাসাইন করেন।
  • 1, 1, 1, 1: আপনি 1 বাদ দেন এবং 1 + 1 + 1 = 3 যোগ করেন, যা আপনি constitution-এ অ্যাসাইন করেন।
  • 2, 1, 6, 6: আপনি 1 বাদ দেন এবং 2 + 6 + 6 = 14 যোগ করেন, যা আপনি intelligence-এ অ্যাসাইন করেন।
  • 3, 5, 3, 4: আপনি 3 বাদ দেন এবং 5 + 3 + 4 = 12 যোগ করেন, যা আপনি wisdom-এ অ্যাসাইন করেন।
  • 6, 6, 6, 6: আপনি 6 বাদ দেন এবং 6 + 6 + 6 = 18 যোগ করেন, যা আপনি charisma-এ অ্যাসাইন করেন।

যেহেতু constitution 3, তাই constitution মডিফায়ার হয় -4 এবং হিটপয়েন্ট হয় 6।

Note

বেশিরভাগ প্রোগ্রামিং ভাষাতেই (সিউডো-)র‍্যান্ডম জেনারেটর থাকে, কিন্তু পাশা ছোড়ার জন্য তৈরি প্রোগ্রামিং ভাষা খুব কমই আছে। এমন একটি ভাষা হলো Troll.

x86-64 Assembly-এর বিশেষ নোট

x86-64-assembly ট্র্যাকে ability() ফাংশনের র্যান্ডমনেস কাই-স্কয়ার টেস্ট দিয়ে যাচাই করা হয়, p < ০.০০০১ স্তরে।

এর মানে হলো, নির্দেশনা অনুযায়ী যদি ability স্কোর তৈরি করা হয়, তাহলে এমন একটি মানগুলোর বিন্যাস তৈরি হওয়ার সম্ভাবনা ০.০১%-এরও কম, যা টেস্টে ফেল করে।

লক্ষ্য করুন, নির্দেশনা অনুযায়ী একটি ability স্কোর হলো একটি পক্ষপাতহীন d6 (ছয় দিকের ছক্কা) দিয়ে ৪ বার ছোড়ার মধ্যে সবচেয়ে বড় ৩টির যোগফল।

GitHub-এর মাধ্যমে সম্পাদনা করুন লিংকটি একটি নতুন উইন্ডো বা ট্যাবে খোলে
x86-64 Assembly Exercism

D&D ক্যারেক্টার শুরু করতে প্রস্তুত?

Exercism-এ সাইন আপ করুন, x86-64 Assembly ট্র্যাকের 22টি কনসেপ্ট130টি অনুশীলনী আর সত্যিকারের মানুষের মেন্টরিং দিয়ে শিখুন ও দক্ষ হয়ে উঠুন, সম্পূর্ণ বিনামূল্যে।

ডিপ ডাইভ: D&D ক্যারেক্টার!

আমরা দেখব কীভাবে (আপাতদৃষ্টিতে) এলোমেলো ডাইস রোল তৈরি করা যায়। আপনি সিড, সিউডো র‍্যান্ডম সংখ্যা আর কিছু কমন বিপদ সম্পর্কে জানতে পারবেন। শেষে দেখব, র‍্যান্ডম মান রিটার্ন করা ফাংশন টেস্ট করার জন্য প্রপার্টি-বেজড টেস্টিং কতটা দারুণ।