1 00:00:00,000 --> 00:00:09,386 2 00:00:09,386 --> 00:00:11,332 >> ZAMYLA चान: चलो चलो पंद्रह साथ मज़ा. 3 00:00:11,332 --> 00:00:15,680 पंद्रह आप मिलता है कि पहले खेल है को लागू करने और यह इंटरेक्टिव है करने के लिए. 4 00:00:15,680 --> 00:00:16,410 अब, चिंता करने के लिए नहीं. 5 00:00:16,410 --> 00:00:18,830 आप लिखने के लिए नहीं है पूरी बात अपने आप को. 6 00:00:18,830 --> 00:00:22,320 वितरण कोड को देखो, क्योंकि एक खेल संरचना के बहुत पहले से ही है 7 00:00:22,320 --> 00:00:23,880 आप के लिए निर्धारित किया है. 8 00:00:23,880 --> 00:00:28,160 यह स्वीकार करता है और एक कमांड लाइन डेसिमल उपयोगकर्ता से और तर्क एक बनाता है 9 00:00:28,160 --> 00:00:31,230 बोर्ड कि इनपुट पर आधारित है. 10 00:00:31,230 --> 00:00:35,570 यह खेल जीता है अगर जाँच करता है और रास्ते उपयोगकर्ता का खेल जीत एक बार. 11 00:00:35,570 --> 00:00:38,340 और इस खेल को जीतने के लिए, यह हो जाता है उपयोगकर्ता से इनपुट और 12 00:00:38,340 --> 00:00:40,610 हटो समारोह कॉल. 13 00:00:40,610 --> 00:00:44,600 >> इसलिए हम चार को लागू करने जा रहे हैं पंद्रह वर्ष की खेल के लिए काम करता है, 14 00:00:44,600 --> 00:00:48,110 init, आकर्षित चाल, और जीता. 15 00:00:48,110 --> 00:00:50,340 पहले, चलो init से निपटने. 16 00:00:50,340 --> 00:00:55,150 लिखें, प्रारंभ के लिए, हम का प्रतिनिधित्व करते हैं एक 2 डी पूर्णांक सरणी में बोर्ड. 17 00:00:55,150 --> 00:01:01,070 और यह कहा जाता है एक वैश्विक चर रहा है आयाम मैक्स, और अधिकतम के साथ बोर्ड, 18 00:01:01,070 --> 00:01:03,880 बोर्ड की अधिकतम आयाम. 19 00:01:03,880 --> 00:01:07,310 अब, बोर्ड की वास्तविक आयाम में प्रतिनिधित्व उपयोगकर्ता द्वारा दिया जाता है 20 00:01:07,310 --> 00:01:10,620 पूर्णांक डी, जो कर सकते थे अधिकतम से कम हो. 21 00:01:10,620 --> 00:01:14,660 लेकिन, सी में, आप सरणियों आकार नहीं कर सकते, ताकि आप के साथ फंस रहे हैं 22 00:01:14,660 --> 00:01:16,730 कि अधिकतम आयाम. 23 00:01:16,730 --> 00:01:19,870 >> लिखें अपनी नौकरी आबाद करने के लिए है बोर्ड के मूल्यों 24 00:01:19,870 --> 00:01:21,860 सही मूल्य के साथ. 25 00:01:21,860 --> 00:01:26,910 अब, हम -1 डी सरणियों देखा है, लेकिन कैसे 2D सरणियों काम करते हो? 26 00:01:26,910 --> 00:01:30,985 वहाँ पंक्ति का एक सूचकांक है, शून्य की भी तो हमेशा के रूप में सूचीबद्ध है, और 27 00:01:30,985 --> 00:01:32,100 स्तंभ. 28 00:01:32,100 --> 00:01:36,120 और तुम में में अपने ग्रिड भर देंगे बस इस तरह, मूल्यों उतरते. 29 00:01:36,120 --> 00:01:43,260 ग्रिड, 0, 0, पंक्ति 0, स्तंभ 0, ग्रिड 0, 1 7, 8 है. 30 00:01:43,260 --> 00:01:48,500 यह एक उदाहरण के लिए है, जहां डी, थोड़ा डी, 3 है. 31 00:01:48,500 --> 00:01:52,690 >> अब, पंद्रह में बोर्ड भी चाहिए यदि आप कभी भी कर चुके हैं, एक खाली टाइल होते 32 00:01:52,690 --> 00:01:54,280 शारीरिक खेल के साथ खेला. 33 00:01:54,280 --> 00:01:59,210 लेकिन, बोर्ड एक पूर्णांक सरणी है, तो सभी मान पूर्णांकों रहना होगा. 34 00:01:59,210 --> 00:02:06,950 तो यह एक पूर्णांक तय करने के लिए आप पर निर्भर है एक रिक्त टाइल का प्रतिनिधित्व करने के लिए मूल्य. 35 00:02:06,950 --> 00:02:10,460 अपने बोर्ड को प्रारंभ करने के लिए, आप उपयोग कर सकते हैं शामिल करने के लिए लूप संरचनाओं 36 00:02:10,460 --> 00:02:16,440 बोर्ड का मूल्य उस राज्य, जहां बोर्ड मैं जम्मू तत्व में प्रतिनिधित्व करता है 37 00:02:16,440 --> 00:02:19,380 पंक्ति मैं और स्तंभ जम्मू. 38 00:02:19,380 --> 00:02:23,035 वे घटते क्रम में शुरू और याद है, कि अगर टाइल्स की संख्या 39 00:02:23,035 --> 00:02:29,590 अजीब है, तो आप के लिए करने जा रहे हैं 2 की और 1 के स्थान स्वैप. 40 00:02:29,590 --> 00:02:33,790 तो वहाँ, हम हैं हमारे initialized बोर्ड. 41 00:02:33,790 --> 00:02:37,440 >> अब, हम initialized किया है कि हमारे , यह यह आकर्षित करने के लिए समय का बोर्ड है. 42 00:02:37,440 --> 00:02:41,260 ड्रा की वर्तमान स्थिति मुद्रित होगा बोर्ड, लेकिन आपको यह सुनिश्चित करने की जरूरत है 43 00:02:41,260 --> 00:02:44,260 उसी क्रम में टाइल मुद्रित करने के लिए आप उन्हें initialized किया है कि. 44 00:02:44,260 --> 00:02:47,300 और तुम भी प्रारूप की आवश्यकता अपनी संख्या सही ढंग से. 45 00:02:47,300 --> 00:02:51,700 हम एक अंक है और हो सकता है क्योंकि दोहरे अंक, तो आप करना चाहते हैं 46 00:02:51,700 --> 00:02:54,540 पहले एक रिक्त स्थान के लिए प्रिंट किसी एक अंकों की संख्या. 47 00:02:54,540 --> 00:03:00,150 आप का उपयोग करके उस का उपयोग प्लेसहोल्डर -. 48 00:03:00,150 --> 00:03:02,550 >> लेकिन हमारे रिक्त स्थान याद है. 49 00:03:02,550 --> 00:03:05,970 हम वास्तविक संख्या मुद्रित नहीं करना चाहती हम प्रतिनिधित्व करने के लिए चुना है 50 00:03:05,970 --> 00:03:10,410 कि रिक्त बोर्ड में अंतरिक्ष, लेकिन हम भी कुछ भी नहीं मुद्रित करने के लिए नहीं करना चाहती. 51 00:03:10,410 --> 00:03:15,310 तो क्या आप कर सकते हैं एक प्रतीक को परिभाषित करने के लिए है या प्रतिनिधित्व करने के लिए चरित्र 52 00:03:15,310 --> 00:03:17,050 रिक्त टाइल. 53 00:03:17,050 --> 00:03:21,030 पिछले उदाहरण में मैं एक का चयन किया है अंडरस्कोर, और फिर आप बस प्रिंट 54 00:03:21,030 --> 00:03:26,970 कि आप रिक्त तक पहुँचने के लिए जब भी अपने ड्रा समारोह में अंतरिक्ष. 55 00:03:26,970 --> 00:03:29,850 >> इतने आकर्षित छोरों के लिए नेस्ट होगा. 56 00:03:29,850 --> 00:03:31,150 कुछ इस तरह. 57 00:03:31,150 --> 00:03:35,660 प्रत्येक पंक्ति के लिए, और उसके बाद में प्रत्येक मान के लिए पंक्ति, आप मुद्रित करने के लिए जा रहे हैं 58 00:03:35,660 --> 00:03:36,940 इस अंतरिक्ष में मूल्य. 59 00:03:36,940 --> 00:03:39,470 आप सभी मूल्यों मुद्रित करने के बाद पंक्ति में है, तो आप 60 00:03:39,470 --> 00:03:41,180 एक नई लाइन मुद्रित कर सकते हैं. 61 00:03:41,180 --> 00:03:47,730 याद रखें कि आपके आकर्षित करने के लिए आदेश समारोह क्रम गूंज या दर्पण चाहिए 62 00:03:47,730 --> 00:03:48,980 अपने initialized समारोह में. 63 00:03:48,980 --> 00:03:51,290 64 00:03:51,290 --> 00:03:55,160 >> आप बोर्ड initialized और अब जब कि आप इसे तैयार कर ली है, यह बताने के लिए समय आ गया है 65 00:03:55,160 --> 00:03:58,500 उपयोगकर्ता इसे संपादित करें और अपनी चाल बनाने. 66 00:03:58,500 --> 00:04:03,840 तो Fifteen.c समारोह में, कार्यक्रम उपयोगकर्ता से इनपुट लेता है और 67 00:04:03,840 --> 00:04:07,690 तो गुजर, चाल समारोह कॉल टाइल की संख्या में है कि 68 00:04:07,690 --> 00:04:09,270 उपयोगकर्ता को स्थानांतरित करना चाहता है. 69 00:04:09,270 --> 00:04:10,380 अब, सावधान रहना. 70 00:04:10,380 --> 00:04:14,200 इस टाइल की वास्तविक संख्या है और नहीं अपने वास्तविक स्थिति. 71 00:04:14,200 --> 00:04:19,010 तो, आप टाइल के लिए खोज करने की आवश्यकता होगी यह पता है, जहां स्थिति. 72 00:04:19,010 --> 00:04:23,440 >> अब, आप केवल उपयोगकर्ता की अनुमति चाहिए यह कानूनी है अगर एक चाल बनाने के लिए. 73 00:04:23,440 --> 00:04:27,910 एक कानूनी कदम है कि किसी भी टाइल है खाली टाइल करने के लिए आसन्न. 74 00:04:27,910 --> 00:04:32,020 उस के लिए, ऊपर और नीचे, इसका मतलब और सही करने के लिए छोड़ दिया है. 75 00:04:32,020 --> 00:04:34,680 तो आप को पता है की आवश्यकता होगी जहां रिक्त टाइल के रूप में अच्छी तरह से है. 76 00:04:34,680 --> 00:04:39,720 अब, हर एक के लिए आप के लिए खोज रहे हैं के लिए कदम उपयोगकर्ताओं टाइल, लेकिन यह शायद है 77 00:04:39,720 --> 00:04:43,030 रिक्त टाइल के लिए खोज करने के लिए सबसे अच्छा नहीं आप यह कर रहे हैं क्योंकि हर बार 78 00:04:43,030 --> 00:04:45,270 हर एक समय उपयोगकर्ता को स्थानांतरित करना चाहता है. 79 00:04:45,270 --> 00:04:50,300 तो, बजाय, यह याद करने के लिए सबसे अच्छा है, जहां रिक्त टाइल कुछ उपयोग कर रहा है 80 00:04:50,300 --> 00:04:52,650 अच्छी तरह से चर नाम दिया है. 81 00:04:52,650 --> 00:04:55,970 आप उपयोगकर्ता बनाने के लिए अनुमति तो एक बार उनकी चाल, वे अच्छी तरह से कर रहे हैं पर उनके 82 00:04:55,970 --> 00:04:59,700 पंद्रह वर्ष की खेल जीतने के लिए रास्ता. 83 00:04:59,700 --> 00:05:03,940 >> पंद्रह, टाइल का खेल जीतने के लिए एक विशिष्ट क्रम में होना है, और 84 00:05:03,940 --> 00:05:06,970 जीता समारोह है कि क्या जाँच करता है खेल जीता है. 85 00:05:06,970 --> 00:05:10,290 यह खेल जीत लिया है अगर यह सच देता है और टाइल्स सही क्रम में हैं, 86 00:05:10,290 --> 00:05:12,210 और झूठी अन्यथा. 87 00:05:12,210 --> 00:05:15,830 तो पंद्रह, टाइल का खेल जीतने के लिए साथ, आदेश में वृद्धि किया जाना है 88 00:05:15,830 --> 00:05:19,230 सही नीचे कोने में खाली टाइल. 89 00:05:19,230 --> 00:05:23,630 तो आप कैसे की जाँच करते हैं कि क्या उपयोगकर्ता सही में बोर्ड ले जाया गया 90 00:05:23,630 --> 00:05:25,010 उन्मुखीकरण? 91 00:05:25,010 --> 00:05:29,200 >> ठीक है, तुम बोर्ड पर पुनरावृति और हूँ सुनिश्चित करें कि मूल्यों की जांच 92 00:05:29,200 --> 00:05:30,550 वे सही स्थान पर हैं. 93 00:05:30,550 --> 00:05:33,910 ऐसा करने के लिए, आप नेस्टेड का उपयोग कर सकते हैं तुमने किया था बस की तरह छोरों के लिए 94 00:05:33,910 --> 00:05:36,520 ड्रॉ में और कर लिखें. 95 00:05:36,520 --> 00:05:40,430 जाँच के तरीके के एक जोड़े हैं और बोर्ड है कि क्या मान्य 96 00:05:40,430 --> 00:05:42,860 सही और एक जीत गठन, यद्यपि. 97 00:05:42,860 --> 00:05:47,330 आप बाएं से दाएं जाना तो आरंभिक नीचे शीर्ष पंक्ति से, तो हर 98 00:05:47,330 --> 00:05:50,590 संख्या से अधिक होना चाहिए पिछले एक. 99 00:05:50,590 --> 00:05:54,530 आपने क्या मूल्य के बारे में सावधान रहें हालांकि अपने खाली टाइल के लिए चुना. 100 00:05:54,530 --> 00:05:59,250 >> या फिर आप के लिए एक काउंटर चर इस्तेमाल कर सकते हैं अगर, प्रत्येक मान जगह में है कि सुनिश्चित 101 00:05:59,250 --> 00:06:03,660 आप किसी प्रकार के साथ आते हैं इस प्रतिनिधित्व करने के लिए सूत्र. 102 00:06:03,660 --> 00:06:06,250 तो प्रयोग मज़ा है गणित के साथ. 103 00:06:06,250 --> 00:06:10,930 आप एक तरह से, वापसी के साथ आया हूँ एक बार यह सच है कि उपयोगकर्ता इस खेल को जीता है एक बार. 104 00:06:10,930 --> 00:06:15,950 लेकिन किसी भी कीमत गलत, वापसी है अगर ग़लत, उपयोगकर्ता बढ़ने जारी रखने के लिए है 105 00:06:15,950 --> 00:06:18,440 वे खेल नहीं जीता है क्योंकि. 106 00:06:18,440 --> 00:06:23,030 आप के साथ, इस चेक को लागू करने और एक बार प्रारंभ के साथ, आकर्षित, और कदम 107 00:06:23,030 --> 00:06:25,110 आप पंद्रह से खेल खत्म कर दिया. 108 00:06:25,110 --> 00:06:27,620 बधाई हो और मजेदार खेल है. 109 00:06:27,620 --> 00:06:30,600 मेरा नाम Zamyla है और इस CS50 है. 110 00:06:30,600 --> 00:06:37,632