কয়েক সপ্তাহের অপেক্ষার পর, আপনি আর আপনার বন্ধুরা একসঙ্গে জড়ো হলেন আপনার জীবনের প্রথম Dungeons & Dragons (D&D) গেম খেলতে। যেহেতু এটি গেমটির প্রথম সেশন, তাই প্রত্যেক খেলোয়াড়কে খেলার জন্য একটি চরিত্র বানাতে হবে। চরিত্রের ক্ষমতাগুলো নির্ধারিত হয় ছয় দিকের পাশা গড়ে, কিন্তু পাশাগুলো কোথায়? আচমকা ধাক্কা খেয়ে আপনি বুঝতে পারেন, আপনার বন্ধুরা অপেক্ষা করছে আপনিই পাশা বানিয়ে আনবেন বলে; D&D খেলার আইডিয়াটা তো আপনারই ছিল! আতঙ্কিত হয়ে আপনি বুঝতে পারেন যে আপনি পাশা আনতে ভুলে গেছেন, যার মানে D&D গেম হবে না। যেহেতু আপনার প্রাথমিক প্রোগ্রামিং দক্ষতা আছে, তাই আপনি দ্রুত একটি সমাধান বের করেন: পাশা গড়ানো সিমুলেট করার জন্য একটি প্রোগ্রাম লিখবেন।
একটি Dungeons & Dragons গেমে প্রতিটি খেলোয়াড় প্রথমে নিজের খেলার জন্য একটি ক্যারেক্টার তৈরি করে। অন্যান্য বিষয়ের পাশাপাশি এই ক্যারেক্টারের থাকে ছয়টি অ্যাবিলিটি: strength, dexterity, constitution, intelligence, wisdom এবং charisma. এই ছয়টি অ্যাবিলিটির স্কোর ঠিক করা হয় র্যান্ডমভাবে। এটি করার জন্য আপনি ছয় দিকের চারটি পাশা গড়িয়ে সবচেয়ে বড় তিনটি পাশার যোগফল লিখে রাখেন। এভাবে আপনি ছয়বার এটি করেন, প্রতিটি অ্যাবিলিটির জন্য একবার।
আপনার ক্যারেক্টারের শুরুর হিটপয়েন্ট হলো 10 + আপনার ক্যারেক্টারের constitution মডিফায়ার। আপনার ক্যারেক্টারের constitution থেকে 10 বিয়োগ করে, 2 দিয়ে ভাগ করে এবং নিচের দিকে রাউন্ড করে আপনি constitution মডিফায়ার বের করেন।
উপরের নিয়মগুলো মেনে একটি র্যান্ডম ক্যারেক্টার জেনারেটর লিখুন।
উদাহরণ হিসেবে, চারটি পাশা ছোড়ার ছয়টি ফল এমন হতে পারে:
যেহেতু constitution 3, তাই constitution মডিফায়ার হয় -4 এবং হিটপয়েন্ট হয় 6।
বেশিরভাগ প্রোগ্রামিং ভাষাতেই (সিউডো-)র্যান্ডম জেনারেটর থাকে, কিন্তু পাশা ছোড়ার জন্য তৈরি প্রোগ্রামিং ভাষা খুব কমই আছে। এমন একটি ভাষা হলো Troll.
Exercism-এ সাইন আপ করুন, Visual Basic ট্র্যাকের 113টি অনুশীলনী আর সত্যিকারের মানুষের মেন্টরিং দিয়ে শিখুন ও দক্ষ হয়ে উঠুন, সম্পূর্ণ বিনামূল্যে।
আমরা দেখব কীভাবে (আপাতদৃষ্টিতে) এলোমেলো ডাইস রোল তৈরি করা যায়। আপনি সিড, সিউডো র্যান্ডম সংখ্যা আর কিছু কমন বিপদ সম্পর্কে জানতে পারবেন। শেষে দেখব, র্যান্ডম মান রিটার্ন করা ফাংশন টেস্ট করার জন্য প্রপার্টি-বেজড টেস্টিং কতটা দারুণ।