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 اسے قبول اور ایک کمانڈ لائن parses صارف کی طرف سے اور دلیل ایک کی تخلیق کرتا ہے 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 init میں، ابتدا کے لئے، ہم نمائندگی ایک 2D عددی صف میں بورڈ. 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 عددی D، جس سکتا ہے زیادہ سے زیادہ سے کم ہونا. 21 00:01:10,620 --> 00:01:14,660 لیکن، C میں، آپ arrays کے کا سائز تبدیل نہیں کر سکتے ہیں، تو آپ کے ساتھ پھنس گئے ہیں 22 00:01:14,660 --> 00:01:16,730 زیادہ سے زیادہ طول و عرض. 23 00:01:16,730 --> 00:01:19,870 >> init میں اپنے کام کے آباد کرنے کے لئے ہے بورڈ کی اقدار 24 00:01:19,870 --> 00:01:21,860 صحیح قیمت کے ساتھ. 25 00:01:21,860 --> 00:01:26,910 اب، ہم 1D arrays کے دیکھا، لیکن ہے کس طرح 2D arrays کے کام کرتے ہیں؟ 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 یہ ایک مثال کے طور پر ہے جہاں D، تھوڑا D، 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 لیکن، بورڈ ایک عددی صف ہے، تو تمام اقدار integers کے ہونا ہے. 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 بورڈ کے شروع کرنے سے ریاست، جہاں بورڈ مجھے J عنصر میں کی نمائندگی کرتا ہے 37 00:02:16,440 --> 00:02:19,380 قطار میں اور کالم J. 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 >> تو اپنی طرف متوجہ loops کے لئے اندر در اندر کیا جائے گا. 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 >> ٹھیک ہے، آپ کو بورڈ پر iterate گے اس بات کو یقینی بنانے کے لئے اقدار کی جانچ پڑتال 92 00:05:29,200 --> 00:05:30,550 وہ صحیح جگہ میں ہیں. 93 00:05:30,550 --> 00:05:33,910 ایسا کرنے کے لئے، آپ کے اندر در اندر استعمال کر سکتے ہیں تم نے کیا جیسا loops کے لئے 94 00:05:33,910 --> 00:05:36,520 ڈرا میں اور init میں. 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