C#-এ বুলিয়ানকে প্রকাশ করা হয় bool টাইপ দিয়ে, যার মান true অথবা false হতে পারে।
C# তিনটি বুলিয়ান অপারেটর সাপোর্ট করে: ! (NOT), && (AND) এবং || (OR)।
এই অনুশীলনীতে আপনি একটি নতুন RPG গেমের কোয়েস্ট লজিক ইমপ্লিমেন্ট করবেন, যা আপনার এক বন্ধু বানাচ্ছে।
গেমটির প্রধান চরিত্র অ্যানালিন, এক সাহসী মেয়ে, যার আছে একটি ভয়ংকর ও বিশ্বস্ত পোষা কুকুর। দুর্ভাগ্যবশত বিপর্যয় নেমে আসে, কারণ বনে বেরি খুঁজতে গিয়ে তার সেরা বন্ধুকে অপহরণ করা হয়।
অ্যানালিন তার সেরা বন্ধুকে খুঁজে বের করার ও মুক্ত করার চেষ্টা করবে, আর চাইলে এই কোয়েস্টে তার কুকুরটিকেও সঙ্গে নিতে পারবে।
সেরা বন্ধুর পদচিহ্ন অনুসরণ করে কিছু সময় কাটানোর পর, সে সেই শিবির খুঁজে পায় যেখানে তার সেরা বন্ধু বন্দী। দেখা যায়, অপহরণকারী দুজন: এক শক্তিশালী নাইট আর এক ধূর্ত আর্চার।
অপহরণকারীদের খুঁজে পাওয়ার পর, অ্যানালিন ভেবে দেখে নিচের কোন কাজগুলো সে করতে পারবে:
আপনার চারটি কাজ: বনের মধ্যে পাওয়া তিনটি চরিত্রের অবস্থা এবং অ্যানালিনের পোষা কুকুর উপস্থিত আছে কি না, তার ভিত্তিতে উপরের কাজগুলো করা সম্ভব কি না তা নির্ধারণের লজিক ইমপ্লিমেন্ট করা।
(static) QuestLogic.CanFastAttack() মেথডটি ইমপ্লিমেন্ট করুন, যা একটি বুলিয়ান মান নেয় এবং তা নির্দেশ করে নাইট জেগে আছে কি না। নাইটের অবস্থার ভিত্তিতে দ্রুত আক্রমণ করা সম্ভব হলে মেথডটি true রিটার্ন করে। নাহলে false রিটার্ন করে:
var knightIsAwake = true;
QuestLogic.CanFastAttack(knightIsAwake);
// => false
(static) QuestLogic.CanSpy() মেথডটি ইমপ্লিমেন্ট করুন, যা তিনটি বুলিয়ান মান নেয় এবং তা যথাক্রমে নাইট, আর্চার ও বন্দী জেগে আছে কি না নির্দেশ করে। তিনটি চরিত্রের অবস্থার ভিত্তিতে দলের উপর গুপ্তচরবৃত্তি করা সম্ভব হলে মেথডটি true রিটার্ন করে। নাহলে false রিটার্ন করে:
var knightIsAwake = false;
var archerIsAwake = true;
var prisonerIsAwake = false;
QuestLogic.CanSpy(knightIsAwake, archerIsAwake, prisonerIsAwake);
// => true
(static) QuestLogic.CanSignalPrisoner() মেথডটি ইমপ্লিমেন্ট করুন, যা দুটি বুলিয়ান মান নেয় এবং তা যথাক্রমে আর্চার ও বন্দী জেগে আছে কি না নির্দেশ করে। দুটি চরিত্রের অবস্থার ভিত্তিতে বন্দীকে সংকেত পাঠানো সম্ভব হলে মেথডটি true রিটার্ন করে। নাহলে false রিটার্ন করে:
var archerIsAwake = false;
var prisonerIsAwake = true;
QuestLogic.CanSignalPrisoner(archerIsAwake, prisonerIsAwake);
// => true
(static) QuestLogic.CanFreePrisoner() মেথডটি ইমপ্লিমেন্ট করুন, যা চারটি বুলিয়ান মান নেয়। প্রথম তিনটি প্যারামিটার যথাক্রমে নাইট, আর্চার ও বন্দী জেগে আছে কি না তা নির্দেশ করে। শেষ প্যারামিটারটি নির্দেশ করে অ্যানালিনের পোষা কুকুর উপস্থিত আছে কি না। তিনটি চরিত্রের অবস্থা এবং অ্যানালিনের পোষা কুকুরের উপস্থিতির ভিত্তিতে বন্দীকে মুক্ত করা সম্ভব হলে মেথডটি true রিটার্ন করে। নাহলে false রিটার্ন করে:
var knightIsAwake = false;
var archerIsAwake = true;
var prisonerIsAwake = false;
var petDogIsPresent = false;
QuestLogic.CanFreePrisoner(knightIsAwake, archerIsAwake, prisonerIsAwake, petDogIsPresent);
// => false
Exercism-এ সাইন আপ করুন, C# ট্র্যাকের 62টি কনসেপ্ট178টি অনুশীলনী আর সত্যিকারের মানুষের মেন্টরিং দিয়ে শিখুন ও দক্ষ হয়ে উঠুন, সম্পূর্ণ বিনামূল্যে।