ट्रैक
/
Gleam
Gleam
/
अभ्यास
/
Pacman के नियम
Pacman के नियम

Pacman के नियम

सीखने का अभ्यास

परिचय

बूलियन

Gleam में सही और गलत वैल्यू को Bool टाइप से दर्शाया जाता है। इसकी केवल दो वैल्यू होती हैं: True और False. इन वैल्यू को किसी वेरिएबल में बाँधा जा सकता है:

let true_variable = True
let false_variable = False

बूलियन वैल्यू पर काम करने के लिए &&, || और ! ऑपरेटरों का उपयोग किया जा सकता है:

True && True  // -> True
True && False // -> False

False || True  // -> True
False || False // -> False

!False // -> True
!True  // -> False

&& और || ऑपरेटर शॉर्ट-सर्किट इवैल्यूएशन का उपयोग करते हैं। इसका मतलब है कि ऑपरेटर के दाईं ओर वाले एक्सप्रेशन का मूल्यांकन तभी किया जाता है जब ज़रूरत हो।

हर ऑपरेटर की प्राथमिकता अलग होती है: ! का मूल्यांकन && और || से पहले होता है। एक्सप्रेशन के एक हिस्से का मूल्यांकन बाकी हिस्सों से पहले करने के लिए घुंघराले ब्रैकेट का उपयोग किया जा सकता है:

!True && False   // -> False
!{True && False} // -> True

निर्देश

इस अभ्यास में आपको क्लासिक गेम Pac-Man के कुछ नियमों को Gleam फंक्शन में बदलना है।

आपको चार नियम बदलने हैं, और ये सभी गेम की स्थितियों से जुड़े हैं।

इस बात की चिंता न कीजिए कि ये आर्गुमेंट कहाँ से आते हैं; बस इन्हें मिलाकर वह परिणाम लौटाने पर ध्यान दीजिए जो चाहिए।

1. तय कीजिए कि Pac-Man भूत खाता है या नहीं

eat_ghost फंक्शन बनाइए। यह दो आर्गुमेंट लेता है (Pac-Man के पास पावर पेलेट चालू है या नहीं और Pac-Man किसी भूत को छू रहा है या नहीं) और एक बूलियन वैल्यू लौटाता है, जो बताती है कि Pac-Man भूत खा सकता है या नहीं। यह फंक्शन केवल तभी True लौटाना चाहिए, जब Pac-Man के पास पावर पेलेट चालू हो और वह किसी भूत को छू रहा हो।

eat_ghost(False, True)
// -> False

2. तय कीजिए कि Pac-Man अंक पाता है या नहीं

score फंक्शन बनाइए। यह दो आर्गुमेंट लेता है (Pac-Man किसी पावर पेलेट को छू रहा है या नहीं और Pac-Man किसी डॉट को छू रहा है या नहीं) और एक बूलियन वैल्यू लौटाता है, जो बताती है कि Pac-Man को अंक मिले या नहीं। यह फंक्शन तब True लौटाना चाहिए, जब Pac-Man किसी पावर पेलेट या डॉट को छू रहा हो।

score(True, True)
// -> True

3. तय कीजिए कि Pac-Man हारता है या नहीं

lose फंक्शन बनाइए। यह दो आर्गुमेंट लेता है (Pac-Man के पास पावर पेलेट चालू है या नहीं और Pac-Man किसी भूत को छू रहा है या नहीं) और एक बूलियन वैल्यू लौटाता है, जो बताती है कि Pac-Man हारता है या नहीं। यह फंक्शन तब True लौटाना चाहिए, जब Pac-Man किसी भूत को छू रहा हो और उसके पास पावर पेलेट चालू न हो।

lose(False, True)
// -> True

4. तय कीजिए कि Pac-Man जीतता है या नहीं

win फंक्शन बनाइए। यह तीन आर्गुमेंट लेता है (Pac-Man ने सारे डॉट खा लिए हैं या नहीं, Pac-Man के पास पावर पेलेट चालू है या नहीं, और Pac-Man किसी भूत को छू रहा है या नहीं) और एक बूलियन वैल्यू लौटाता है, जो बताती है कि Pac-Man जीतता है या नहीं। यह फंक्शन तब True लौटाना चाहिए, जब Pac-Man ने सारे डॉट खा लिए हों और भाग 3 में बताए गए आर्गुमेंट के आधार पर वह न हारा हो।

win(False, True, False)
// -> False
GitHub के ज़रिए संपादित करें यह लिंक एक नई विंडो या टैब में खुलता है
Gleam Exercism

Pacman के नियम शुरू करने के लिए तैयार हैं?

Exercism पर साइन अप कीजिए और Gleam को 33 कॉन्सेप्ट122 अभ्यास तथा असली इंसानों से मिलने वाली मेंटरिंग के साथ सीखिए और उसमें महारत हासिल कीजिए, वह भी बिल्कुल मुफ्त।