আপনি এমন একটি প্রতিষ্ঠানের হয়ে কাজ করেন, যেটি অনলাইনে খেলার জন্য একটি ফ্যান্টাসি-সারভাইভাল গেম বানায়।
কোনো খেলোয়াড় একটি লেভেল শেষ করলে তাকে এনার্জি পয়েন্ট দেওয়া হয়। কতটা এনার্জি দেওয়া হবে, সেটা নির্ভর করে খেলোয়াড় ওই লেভেলটি ঘুরে দেখতে গিয়ে কোন কোন জাদুকরী আইটেম পেয়েছে তার উপর।
আপনার কাজ হলো এমন কোড লেখা, যা হিসাব করে দেয় খেলোয়াড়রা একটি লেভেল সম্পন্ন করলে তাদের কত এনার্জি পয়েন্ট দেওয়া হয়।
কত পয়েন্ট দেওয়া হবে তা দুটি বিষয়ের উপর নির্ভর করে:
এনার্জি পয়েন্ট দেওয়া হয় নিচের নিয়মগুলো অনুযায়ী:
চলুন একটি উদাহরণ দেখি:
খেলোয়াড়টি লেভেল ২০ সম্পন্ন করেছে এবং ৩ ও ৫ বেস ভ্যালুর দুটি জাদু-সামগ্রী পেয়েছে।
খেলোয়াড়ের পাওয়া এনার্জি পয়েন্ট হিসাব করতে হলে আমাদের ওই বেস ভ্যালুগুলোর লেভেল ২০-এর চেয়ে ছোট সব ইউনিক গুণিতক খুঁজে বের করতে হবে।
{3, 6, 9, 12, 15, 18}
{5, 10, 15}
{3, 5, 6, 9, 10, 12, 15, 18}
3 + 5 + 6 + 9 + 10 + 12 + 15 + 18 = 78
এই অনুশীলনীর মূল কৌশল হলো সংখ্যার একটি রেঞ্জের উপর ইটারেশন করা, আর সেইসঙ্গে কোনো Collection-এ এমন কোনো গুণিতক আছে কি না তা যাচাই করা যা কোনো একটি সংখ্যা দিয়ে বিভাজ্য।
Spotter ব্যবহার করে সম্ভাব্য ক্লাসগুলো খুঁজে দেখার চেষ্টা করুন এবং সেই ক্লাসগুলোর মেথডের বিভিন্ন ক্যাটাগরি ব্রাউজ করুন।
এছাড়াও মনে রাখবেন, Pharo এনভায়রনমেন্টে ব্যাপকভাবে ক্রস রেফারেন্স করা আছে। আপনি যেকোনো ক্লাস বা মেথডে রাইট ক্লিক করে সেই ক্লাসের "references" ব্রাউজ করতে পারেন (সেটি কীভাবে তৈরি হতে পারে তা দেখার জন্য), আবার মেথডের ক্ষেত্রে "senders" ব্রাউজ করতে পারেন (মেথডটি কীভাবে ব্যবহার হতে পারে তা দেখার জন্য)।
Exercism-এ সাইন আপ করুন, Pharo ট্র্যাকের 50টি অনুশীলনী আর সত্যিকারের মানুষের মেন্টরিং দিয়ে শিখুন ও দক্ষ হয়ে উঠুন, সম্পূর্ণ বিনামূল্যে।