C# में बूलियन को bool टाइप से दर्शाया जाता है। इसकी वैल्यू या तो true हो सकती है या false.
C# में तीन बूलियन ऑपरेटर होते हैं: ! (नहीं), && (और) और || (या)।
इस अभ्यास में आप एक नए 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 अभ्यास तथा असली इंसानों से मिलने वाली मेंटरिंग के साथ सीखिए और उसमें महारत हासिल कीजिए, वह भी बिल्कुल मुफ्त।