একটি বুলিয়ান দুইটি মানের একটি প্রকাশ করে: true বা false।
লজিক্যাল অপারেটরগুলো (!, &&, ||) সাধারণত বুলিয়ান মানের সাথে ব্যবহৃত হয় এবং একটি বুলিয়ান মান রিটার্ন করে।
এই অনুশীলনীতে, আপনি একটি নতুন RPG গেমের কোয়েস্টের লজিক তৈরি করবেন, যেটি আপনার এক বন্ধু বানাচ্ছে। গেমটির প্রধান চরিত্র Annalyn, সাহসী এক মেয়ে, যার আছে একটি হিংস্র ও বিশ্বস্ত পোষা কুকুর। দুর্ভাগ্যবশত, বিপর্যয় নেমে আসে, কারণ বনে বেরি খুঁজতে গিয়ে তার সেরা বন্ধুকে অপহরণ করা হয়। Annalyn তার সেরা বন্ধুকে খুঁজে বের করার ও মুক্ত করার চেষ্টা করবে, এবং চাইলে এই কোয়েস্টে তার কুকুরটিকে সঙ্গে নিয়ে যাবে।
কিছু সময় ধরে তার সেরা বন্ধুর পথের চিহ্ন ধরে এগোনোর পর, সে সেই শিবির খুঁজে পায় যেখানে তার সেরা বন্ধু বন্দী হয়ে আছে। দেখা যায়, অপহরণকারী দুইজন: একজন শক্তিশালী নাইট আর একজন ধূর্ত তিরন্দাজ।
অপহরণকারীদের খুঁজে পাওয়ার পর Annalyn ভেবে দেখে, নিচের কোন কাজগুলো সে করতে পারে:
আপনার চারটি কাজ আছে: বনের মধ্যে পাওয়া তিনটি চরিত্রের অবস্থা এবং Annalyn-এর পোষা কুকুর উপস্থিত আছে কি না, তার ভিত্তিতে উপরের কাজগুলো করা সম্ভব কি না তা নির্ধারণের লজিক তৈরি করা।
canExecuteFastAttack নামের একটি ফাংশন তৈরি করুন, যা একটি বুলিয়ান মান নেয় এবং তা নির্দেশ করে নাইট জেগে আছে কি না।
চরিত্রটির অবস্থার ভিত্তিতে 'দ্রুত আক্রমণ' কাজটি করা সম্ভব হলে ফাংশনটি true রিটার্ন করে।
নাহলে false রিটার্ন করে:
const knightIsAwake = true;
canExecuteFastAttack(knightIsAwake);
// => false
canSpy নামের একটি ফাংশন তৈরি করুন, যা তিনটি বুলিয়ান মান নেয়, এবং তা যথাক্রমে নির্দেশ করে নাইট, তিরন্দাজ ও বন্দী জেগে আছে কি না।
চরিত্রগুলোর অবস্থার ভিত্তিতে 'গুপ্তচরবৃত্তি' কাজটি করা সম্ভব হলে ফাংশনটি true রিটার্ন করে।
নাহলে false রিটার্ন করে:
const knightIsAwake = false;
const archerIsAwake = true;
const prisonerIsAwake = false;
canSpy(knightIsAwake, archerIsAwake, prisonerIsAwake);
// => true
canSignalPrisoner নামের একটি ফাংশন তৈরি করুন, যা দুটি বুলিয়ান মান নেয়, এবং তা যথাক্রমে নির্দেশ করে তিরন্দাজ ও বন্দী জেগে আছে কি না।
চরিত্রগুলোর অবস্থার ভিত্তিতে 'বন্দীকে সংকেত পাঠানো' কাজটি করা সম্ভব হলে ফাংশনটি true রিটার্ন করে।
নাহলে false রিটার্ন করে:
const archerIsAwake = false;
const prisonerIsAwake = true;
canSignalPrisoner(archerIsAwake, prisonerIsAwake);
// => true
canFreePrisoner নামের একটি ফাংশন তৈরি করুন, যা চারটি বুলিয়ান মান নেয়।
প্রথম তিনটি প্যারামিটার যথাক্রমে নির্দেশ করে নাইট, তিরন্দাজ ও বন্দী জেগে আছে কি না।
শেষ প্যারামিটারটি নির্দেশ করে Annalyn-এর পোষা কুকুর উপস্থিত আছে কি না।
চরিত্রগুলোর অবস্থা ও Annalyn-এর পোষা কুকুরের উপস্থিতির ভিত্তিতে 'বন্দীকে মুক্ত করা' কাজটি করা সম্ভব হলে ফাংশনটি true রিটার্ন করে।
নাহলে এটি false রিটার্ন করে:
const knightIsAwake = false;
const archerIsAwake = true;
const prisonerIsAwake = false;
const petDogIsPresent = false;
canFreePrisoner(knightIsAwake, archerIsAwake, prisonerIsAwake, petDogIsPresent);
// => false
Exercism-এ সাইন আপ করুন, JavaScript ট্র্যাকের 37টি কনসেপ্ট159টি অনুশীলনী আর সত্যিকারের মানুষের মেন্টরিং দিয়ে শিখুন ও দক্ষ হয়ে উঠুন, সম্পূর্ণ বিনামূল্যে।