>> ZAMYLA चान: चलो चलो पंद्रह साथ मज़ा.
पंद्रह आप मिलता है कि पहले खेल है को लागू करने और यह इंटरेक्टिव है करने के लिए.
अब, चिंता करने के लिए नहीं.
आप लिखने के लिए नहीं है पूरी बात अपने आप को.
वितरण कोड को देखो, क्योंकि एक खेल संरचना के बहुत पहले से ही है
आप के लिए निर्धारित किया है.
यह स्वीकार करता है और एक कमांड लाइन डेसिमल उपयोगकर्ता से और तर्क एक बनाता है
बोर्ड कि इनपुट पर आधारित है.
यह खेल जीता है अगर जाँच करता है और रास्ते उपयोगकर्ता का खेल जीत एक बार.
और इस खेल को जीतने के लिए, यह हो जाता है उपयोगकर्ता से इनपुट और
हटो समारोह कॉल.
>> इसलिए हम चार को लागू करने जा रहे हैं पंद्रह वर्ष की खेल के लिए काम करता है,
init, आकर्षित चाल, और जीता.
पहले, चलो init से निपटने.
लिखें, प्रारंभ के लिए, हम का प्रतिनिधित्व करते हैं एक 2 डी पूर्णांक सरणी में बोर्ड.
और यह कहा जाता है एक वैश्विक चर रहा है आयाम मैक्स, और अधिकतम के साथ बोर्ड,
बोर्ड की अधिकतम आयाम.
अब, बोर्ड की वास्तविक आयाम में प्रतिनिधित्व उपयोगकर्ता द्वारा दिया जाता है
पूर्णांक डी, जो कर सकते थे अधिकतम से कम हो.
लेकिन, सी में, आप सरणियों आकार नहीं कर सकते, ताकि आप के साथ फंस रहे हैं
कि अधिकतम आयाम.
>> लिखें अपनी नौकरी आबाद करने के लिए है बोर्ड के मूल्यों
सही मूल्य के साथ.
अब, हम -1 डी सरणियों देखा है, लेकिन कैसे 2D सरणियों काम करते हो?
वहाँ पंक्ति का एक सूचकांक है, शून्य की भी तो हमेशा के रूप में सूचीबद्ध है, और
स्तंभ.
और तुम में में अपने ग्रिड भर देंगे बस इस तरह, मूल्यों उतरते.
ग्रिड, 0, 0, पंक्ति 0, स्तंभ 0, ग्रिड 0, 1 7, 8 है.
यह एक उदाहरण के लिए है, जहां डी, थोड़ा डी, 3 है.
>> अब, पंद्रह में बोर्ड भी चाहिए यदि आप कभी भी कर चुके हैं, एक खाली टाइल होते
शारीरिक खेल के साथ खेला.
लेकिन, बोर्ड एक पूर्णांक सरणी है, तो सभी मान पूर्णांकों रहना होगा.
तो यह एक पूर्णांक तय करने के लिए आप पर निर्भर है एक रिक्त टाइल का प्रतिनिधित्व करने के लिए मूल्य.
अपने बोर्ड को प्रारंभ करने के लिए, आप उपयोग कर सकते हैं शामिल करने के लिए लूप संरचनाओं
बोर्ड का मूल्य उस राज्य, जहां बोर्ड मैं जम्मू तत्व में प्रतिनिधित्व करता है
पंक्ति मैं और स्तंभ जम्मू.
वे घटते क्रम में शुरू और याद है, कि अगर टाइल्स की संख्या
अजीब है, तो आप के लिए करने जा रहे हैं 2 की और 1 के स्थान स्वैप.
तो वहाँ, हम हैं हमारे initialized बोर्ड.
>> अब, हम initialized किया है कि हमारे , यह यह आकर्षित करने के लिए समय का बोर्ड है.
ड्रा की वर्तमान स्थिति मुद्रित होगा बोर्ड, लेकिन आपको यह सुनिश्चित करने की जरूरत है
उसी क्रम में टाइल मुद्रित करने के लिए आप उन्हें initialized किया है कि.
और तुम भी प्रारूप की आवश्यकता अपनी संख्या सही ढंग से.
हम एक अंक है और हो सकता है क्योंकि दोहरे अंक, तो आप करना चाहते हैं
पहले एक रिक्त स्थान के लिए प्रिंट किसी एक अंकों की संख्या.
आप का उपयोग करके उस का उपयोग प्लेसहोल्डर -.
>> लेकिन हमारे रिक्त स्थान याद है.
हम वास्तविक संख्या मुद्रित नहीं करना चाहती हम प्रतिनिधित्व करने के लिए चुना है
कि रिक्त बोर्ड में अंतरिक्ष, लेकिन हम भी कुछ भी नहीं मुद्रित करने के लिए नहीं करना चाहती.
तो क्या आप कर सकते हैं एक प्रतीक को परिभाषित करने के लिए है या प्रतिनिधित्व करने के लिए चरित्र
रिक्त टाइल.
पिछले उदाहरण में मैं एक का चयन किया है अंडरस्कोर, और फिर आप बस प्रिंट
कि आप रिक्त तक पहुँचने के लिए जब भी अपने ड्रा समारोह में अंतरिक्ष.
>> इतने आकर्षित छोरों के लिए नेस्ट होगा.
कुछ इस तरह.
प्रत्येक पंक्ति के लिए, और उसके बाद में प्रत्येक मान के लिए पंक्ति, आप मुद्रित करने के लिए जा रहे हैं
इस अंतरिक्ष में मूल्य.
आप सभी मूल्यों मुद्रित करने के बाद पंक्ति में है, तो आप
एक नई लाइन मुद्रित कर सकते हैं.
याद रखें कि आपके आकर्षित करने के लिए आदेश समारोह क्रम गूंज या दर्पण चाहिए
अपने initialized समारोह में.
>> आप बोर्ड initialized और अब जब कि आप इसे तैयार कर ली है, यह बताने के लिए समय आ गया है
उपयोगकर्ता इसे संपादित करें और अपनी चाल बनाने.
तो Fifteen.c समारोह में, कार्यक्रम उपयोगकर्ता से इनपुट लेता है और
तो गुजर, चाल समारोह कॉल टाइल की संख्या में है कि
उपयोगकर्ता को स्थानांतरित करना चाहता है.
अब, सावधान रहना.
इस टाइल की वास्तविक संख्या है और नहीं अपने वास्तविक स्थिति.
तो, आप टाइल के लिए खोज करने की आवश्यकता होगी यह पता है, जहां स्थिति.
>> अब, आप केवल उपयोगकर्ता की अनुमति चाहिए यह कानूनी है अगर एक चाल बनाने के लिए.
एक कानूनी कदम है कि किसी भी टाइल है खाली टाइल करने के लिए आसन्न.
उस के लिए, ऊपर और नीचे, इसका मतलब और सही करने के लिए छोड़ दिया है.
तो आप को पता है की आवश्यकता होगी जहां रिक्त टाइल के रूप में अच्छी तरह से है.
अब, हर एक के लिए आप के लिए खोज रहे हैं के लिए कदम उपयोगकर्ताओं टाइल, लेकिन यह शायद है
रिक्त टाइल के लिए खोज करने के लिए सबसे अच्छा नहीं आप यह कर रहे हैं क्योंकि हर बार
हर एक समय उपयोगकर्ता को स्थानांतरित करना चाहता है.
तो, बजाय, यह याद करने के लिए सबसे अच्छा है, जहां रिक्त टाइल कुछ उपयोग कर रहा है
अच्छी तरह से चर नाम दिया है.
आप उपयोगकर्ता बनाने के लिए अनुमति तो एक बार उनकी चाल, वे अच्छी तरह से कर रहे हैं पर उनके
पंद्रह वर्ष की खेल जीतने के लिए रास्ता.
>> पंद्रह, टाइल का खेल जीतने के लिए एक विशिष्ट क्रम में होना है, और
जीता समारोह है कि क्या जाँच करता है खेल जीता है.
यह खेल जीत लिया है अगर यह सच देता है और टाइल्स सही क्रम में हैं,
और झूठी अन्यथा.
तो पंद्रह, टाइल का खेल जीतने के लिए साथ, आदेश में वृद्धि किया जाना है
सही नीचे कोने में खाली टाइल.
तो आप कैसे की जाँच करते हैं कि क्या उपयोगकर्ता सही में बोर्ड ले जाया गया
उन्मुखीकरण?
>> ठीक है, तुम बोर्ड पर पुनरावृति और हूँ सुनिश्चित करें कि मूल्यों की जांच
वे सही स्थान पर हैं.
ऐसा करने के लिए, आप नेस्टेड का उपयोग कर सकते हैं तुमने किया था बस की तरह छोरों के लिए
ड्रॉ में और कर लिखें.
जाँच के तरीके के एक जोड़े हैं और बोर्ड है कि क्या मान्य
सही और एक जीत गठन, यद्यपि.
आप बाएं से दाएं जाना तो आरंभिक नीचे शीर्ष पंक्ति से, तो हर
संख्या से अधिक होना चाहिए पिछले एक.
आपने क्या मूल्य के बारे में सावधान रहें हालांकि अपने खाली टाइल के लिए चुना.
>> या फिर आप के लिए एक काउंटर चर इस्तेमाल कर सकते हैं अगर, प्रत्येक मान जगह में है कि सुनिश्चित
आप किसी प्रकार के साथ आते हैं इस प्रतिनिधित्व करने के लिए सूत्र.
तो प्रयोग मज़ा है गणित के साथ.
आप एक तरह से, वापसी के साथ आया हूँ एक बार यह सच है कि उपयोगकर्ता इस खेल को जीता है एक बार.
लेकिन किसी भी कीमत गलत, वापसी है अगर ग़लत, उपयोगकर्ता बढ़ने जारी रखने के लिए है
वे खेल नहीं जीता है क्योंकि.
आप के साथ, इस चेक को लागू करने और एक बार प्रारंभ के साथ, आकर्षित, और कदम
आप पंद्रह से खेल खत्म कर दिया.
बधाई हो और मजेदार खेल है.
मेरा नाम Zamyla है और इस CS50 है.