Minesweeper एक लोकप्रिय गेम है। इसमें खिलाड़ी को संख्यात्मक संकेतों की मदद से बम ढूँढने होते हैं। ये संकेत बताते हैं कि किसी खाने के ठीक आसपास (आड़े, खड़े या तिरछे) कितने बम हैं।
आपको एक तैयार माइनस्वीपर बोर्ड के खाली खानों में माइनों की संख्या भरनी है।
बोर्ड एक आयत होता है, जो ऐसे खानों से बना है जो या तो खाली (' ') होते हैं या माइन ('*')।
हर खाली खाने के लिए यह गिनिए कि उसके आसपास आड़ी, खड़ी और तिरछी दिशाओं में कितने माइन हैं। अगर खाली खाने के आसपास कोई माइन नहीं है, तो उसे खाली ही छोड़ दीजिए। वरना उसकी जगह उसके आसपास के माइनों की संख्या लिख दीजिए।
उदाहरण के लिए, आपको 5 x 4 का ऐसा बोर्ड मिल सकता है (यहाँ खाली जगहों को स्क्रीन पर दिखाने के लिए '·' अक्षर से दर्शाया गया है):
·*·*·
··*··
··*··
·····
आपके कोड को इसे इस तरह बदलना चाहिए:
1*3*1
13*31
·2*2·
·111·
माइनफील्ड को एक स्ट्रिंग के रूप में दर्शाया जाता है, जिसमें हर पंक्ति के अंत में एक न्यूलाइन अक्षर होता है।
एक उदाहरण होगा " \n * \n \n"
इनपुट स्ट्रिंग के लिए बफर लीनियर मेमोरी के बाइट 64 से 319 तक इस्तेमाल करता है।
इनपुट स्ट्रिंग को चाहें तो उसी जगह बदला जा सकता है।
Exercism पर साइन अप कीजिए और WebAssembly को 87 अभ्यास तथा असली इंसानों से मिलने वाली मेंटरिंग के साथ सीखिए और उसमें महारत हासिल कीजिए, वह भी बिल्कुल मुफ्त।
हम नेस्टेड for लूप, बाउंड जाँच आसान बनाने के लिए min/max का चतुर उपयोग, फंक्शनल पाइपलाइन और द्वि-आयामी मैट्रिक्स देखेंगे।