1 00:00:00,000 --> 00:00:09,386 2 00:00:09,386 --> 00:00:11,332 >> ZAMYLA Chan: sahib edək on beş ilə fun. 3 00:00:11,332 --> 00:00:15,680 On beş almaq ki, ilk oyun həyata keçirilməsi və interaktiv üçün. 4 00:00:15,680 --> 00:00:16,410 İndi, narahat deyil. 5 00:00:16,410 --> 00:00:18,830 Siz yazmaq yoxdur bütün şey özünüzü. 6 00:00:18,830 --> 00:00:22,320 Bölüşdürülməsi kodu baxmaq, çünki Oyun quruluşu çox artıq 7 00:00:22,320 --> 00:00:23,880 sizin üçün qurmaq. 8 00:00:23,880 --> 00:00:28,160 Bu qəbul və bir command line çözümler istifadəçi və dəlil bir yaradır 9 00:00:28,160 --> 00:00:31,230 board ki, daxil əsaslanır. 10 00:00:31,230 --> 00:00:35,570 Bu oyun qalib əgər yoxlayır və çıxışlar istifadəçinin oyun qazandı dəfə. 11 00:00:35,570 --> 00:00:38,340 Və oyun qazanmaq üçün, o olur istifadəçi giriş və 12 00:00:38,340 --> 00:00:40,610 Move funksiyasını çağırır. 13 00:00:40,610 --> 00:00:44,600 >> Beləliklə, biz dörd həyata olacaq on beş oyun üçün funksiyaları, 14 00:00:44,600 --> 00:00:48,110 init, heç-heçə hərəkət və qazandı. 15 00:00:48,110 --> 00:00:50,340 Birincisi, init həll edək. 16 00:00:50,340 --> 00:00:55,150 Init ildə initialize, biz təmsil bir 2D tam array board. 17 00:00:55,150 --> 00:01:01,070 Bu adlanan qlobal dəyişən deyil ölçüləri MAX, və MAX ilə board, 18 00:01:01,070 --> 00:01:03,880 heyəti maksimum ölçüləri. 19 00:01:03,880 --> 00:01:07,310 İndi, şura faktiki ölçüsü təmsil istifadəçi tərəfindən verilir 20 00:01:07,310 --> 00:01:10,620 tam d, hansı ki, MAX az olacaq. 21 00:01:10,620 --> 00:01:14,660 Lakin, C, serialların ölçüsünü bilməz, belə ki, siz vurulmuş edirik 22 00:01:14,660 --> 00:01:16,730 ki, maksimum ölçüsü. 23 00:01:16,730 --> 00:01:19,870 >> Init Sizin iş yaşayır edir heyəti dəyərlər 24 00:01:19,870 --> 00:01:21,860 düzgün dəyəri. 25 00:01:21,860 --> 00:01:26,910 İndi biz 1D gördüyünüz seriallardakı etdik, ancaq necə 2D serialların çalışır? 26 00:01:26,910 --> 00:01:30,985 Orada sıra bir index var, sıfır də sonra həmişə dizine və 27 00:01:30,985 --> 00:01:32,100 sütun. 28 00:01:32,100 --> 00:01:36,120 Və siz sizin grid doldurmaq lazımdır yalnız bu kimi dəyərlər enən. 29 00:01:36,120 --> 00:01:43,260 Grid, 0, 0, sıra 0, sütun 0, grid 0, 1 7, 8. 30 00:01:43,260 --> 00:01:48,500 Bu, misal üçün olduğu d, az d, 3. 31 00:01:48,500 --> 00:01:52,690 >> İndi, on beş ildə board də olmalıdır Əgər varsa, bir boş kafel ehtiva 32 00:01:52,690 --> 00:01:54,280 fiziki oyun. 33 00:01:54,280 --> 00:01:59,210 Lakin, board tam array, belə ki, bütün dəyərlər integers olmalıdır. 34 00:01:59,210 --> 00:02:06,950 Belə ki, bir tam qərar sizə var Boş bir kafel təmsil dəyəri. 35 00:02:06,950 --> 00:02:10,460 Sizin board başlamaq üçün, istifadə edə bilərsiniz ehtiva loop strukturları 36 00:02:10,460 --> 00:02:16,440 board başlayaraq dövlət, harada board i j element at təmsil 37 00:02:16,440 --> 00:02:19,380 satır i və sütun j. 38 00:02:19,380 --> 00:02:23,035 Onlar azalan qaydada başlamaq və , unutmayın ki, əgər plitələr sayı 39 00:02:23,035 --> 00:02:29,590 tək, sonra siz olacaq 2 və 1 yer dəyişdirmək. 40 00:02:29,590 --> 00:02:33,790 Belə ki, orada, biz bizim başlatılmış board. 41 00:02:33,790 --> 00:02:37,440 >> İndi biz başlatılmış etdik ki, bizim , onu çəkmək üçün vaxt board var. 42 00:02:37,440 --> 00:02:41,260 Draw hazırki dövlət çap edəcək board, ancaq əmin etmək lazımdır 43 00:02:41,260 --> 00:02:44,260 eyni qaydada plitələr çap etmək Əgər siz onları başlatılmış etdik ki,. 44 00:02:44,260 --> 00:02:47,300 Və siz də format lazımdır Sizin ədəd düzgün. 45 00:02:47,300 --> 00:02:51,700 Biz vahid rəqəm var və ola bilər, çünki ikirəqəmli, sonra istədiyiniz 46 00:02:51,700 --> 00:02:54,540 əvvəl boş çap hər hansı bir rəqəmli ədəd. 47 00:02:54,540 --> 00:03:00,150 Siz istifadə edərək ki, istifadə tutucu -. 48 00:03:00,150 --> 00:03:02,550 >> Amma bizim boş xatırlayıram. 49 00:03:02,550 --> 00:03:05,970 Biz faktiki sayı çap istəmirəm biz təmsil etmək üçün seçilmişdir etdik ki, 50 00:03:05,970 --> 00:03:10,410 ki, boş board kosmik, lakin biz də heç bir şey çap istəmirəm. 51 00:03:10,410 --> 00:03:15,310 Beləliklə, nə siz nə edə bilər bir simvolu müəyyən edir və ya təmsil etmək xarakter 52 00:03:15,310 --> 00:03:17,050 boş kafel. 53 00:03:17,050 --> 00:03:21,030 Əvvəlki nümunələri mən bir seçdiyiniz vurğulayır, və sonra yalnız çap 54 00:03:21,030 --> 00:03:26,970 ki, siz boş çatmaq zaman Sizin heçə funksiyası space. 55 00:03:26,970 --> 00:03:29,850 >> Belə ki, çəkmək loops üçün iç içə olacaq. 56 00:03:29,850 --> 00:03:31,150 Bu kimi bir şey. 57 00:03:31,150 --> 00:03:35,660 Hər cərgə üçün, və sonra hər bir dəyər üçün satır, çap olacaq 58 00:03:35,660 --> 00:03:36,940 Bu məkanda dəyər. 59 00:03:36,940 --> 00:03:39,470 Bütün dəyərləri çap etdik sırasında, sonra 60 00:03:39,470 --> 00:03:41,180 yeni xətt çap edə bilərsiniz. 61 00:03:41,180 --> 00:03:47,730 Xatırla ki, heç-heçə üçün sifariş funksiyası sifariş echo və ya güzgü lazımdır 62 00:03:47,730 --> 00:03:48,980 Sizin başlatılmış funksiyası. 63 00:03:48,980 --> 00:03:51,290 64 00:03:51,290 --> 00:03:55,160 >> Siz board başlatılmış və indi Siz onu tərtib etdik ki, imkan vaxt 65 00:03:55,160 --> 00:03:58,500 istifadəçi onu redaktə və onların hərəkət etmək. 66 00:03:58,500 --> 00:04:03,840 Belə ki, Fifteen.c funksiyası, bu Proqram istifadəçi daxil edir və 67 00:04:03,840 --> 00:04:07,690 sonra keçən, hərəkət funksiyası çağırır kafel sayının ki, 68 00:04:07,690 --> 00:04:09,270 istifadəçi hərəkət etmək istəyir. 69 00:04:09,270 --> 00:04:10,380 İndi, ehtiyatlı olun. 70 00:04:10,380 --> 00:04:14,200 Bu kafel faktiki sayı və onun faktiki mövqe. 71 00:04:14,200 --> 00:04:19,010 Belə ki, kafel-nin axtarmaq lazımdır harada bilmək mövqe. 72 00:04:19,010 --> 00:04:23,440 >> İndi, yalnız istifadəçi imkan verməlidir hüquqi əgər bir hərəkət etmək. 73 00:04:23,440 --> 00:04:27,910 Hüquqi hərəkət edir ki, bir kafel deyil boş kafel bitişik. 74 00:04:27,910 --> 00:04:32,020 Ki, yuxarıda və aşağıda deməkdir Bu və sağ. 75 00:04:32,020 --> 00:04:34,680 Belə ki, bilmək lazımdır yerləşir boş kafel həmçinin. 76 00:04:34,680 --> 00:04:39,720 İndi hər siz aradığınız hərəkət istifadəçilər kafel, lakin yəqin ki, var 77 00:04:39,720 --> 00:04:43,030 boş kafel axtarmaq üçün yaxşı deyil siz bunu edirik, çünki hər dəfə 78 00:04:43,030 --> 00:04:45,270 hər bir zaman istifadəçi hərəkət etmək istəyir. 79 00:04:45,270 --> 00:04:50,300 Belə ki, əvəzinə, bu yadda yaxşı olduğu boş kafel bəzi istifadə edir 80 00:04:50,300 --> 00:04:52,650 yaxşı dəyişənlərin adına. 81 00:04:52,650 --> 00:04:55,970 Siz istifadəçi imkan verir bir dəfə Belə ki, hərəkət, onlar var onların 82 00:04:55,970 --> 00:04:59,700 on beş oyun qalib yolu. 83 00:04:59,700 --> 00:05:03,940 >> On beş, plitələr oyun qazanmaq üçün xüsusi qaydada olmalıdır, və 84 00:05:03,940 --> 00:05:06,970 qazandı funksiyası olub-olmadığını yoxlayır oyun qalib edir. 85 00:05:06,970 --> 00:05:10,290 Bu oyun qalib əgər True qaytarır və plitələr düzgün qaydada, 86 00:05:10,290 --> 00:05:12,210 və False başqa. 87 00:05:12,210 --> 00:05:15,830 Belə ki, on beş, plitələr oyunu qazanmaq üçün ilə, sifariş artan olmalıdır 88 00:05:15,830 --> 00:05:19,230 sağ alt küncündə boş kafel. 89 00:05:19,230 --> 00:05:23,630 Belə ki, necə yoxlamaq nə olub istifadəçi hüququna board köçürülüb 90 00:05:23,630 --> 00:05:25,010 orientation? 91 00:05:25,010 --> 00:05:29,200 >> Yaxşı, siz board üzərində təkrarlamaq lazımdır əmin etmək dəyərləri yoxlamaq 92 00:05:29,200 --> 00:05:30,550 onlar doğru yerdə istəyirik. 93 00:05:30,550 --> 00:05:33,910 Bunu etmək üçün, siz nested istifadə edə bilərsiniz Siz nə kimi loops üçün 94 00:05:33,910 --> 00:05:36,520 heçə və init ilə. 95 00:05:36,520 --> 00:05:40,430 Yoxlamaq üçün yollar bir neçə var və board olub doğrulamak 96 00:05:40,430 --> 00:05:42,860 doğru və qalib formalaşması, baxmayaraq ki. 97 00:05:42,860 --> 00:05:47,330 Siz soldan sağa getmək varsa, başlayaraq aşağı üst sıra, sonra hər 98 00:05:47,330 --> 00:05:50,590 sayı daha çox olmalıdır Əvvəlki. 99 00:05:50,590 --> 00:05:54,530 Siz var qiymətləndiririk nə haqqında ehtiyatlı olun baxmayaraq boş kafel üçün seçilmiş. 100 00:05:54,530 --> 00:05:59,250 >> Və ya bir counter dəyişən istifadə edə bilər əgər hər birinin dəyəri yerində olmasını təmin 101 00:05:59,250 --> 00:06:03,660 Siz bir növ ilə gəlmək Bu təmsil formula. 102 00:06:03,660 --> 00:06:06,250 Belə ki, eksperiment fun var riyaziyyat ilə. 103 00:06:06,250 --> 00:06:10,930 Bir yol, qaytarılması ilə gəlmək sonra True istifadəçi oyun qazandı dəfə. 104 00:06:10,930 --> 00:06:15,950 Amma hansı bir dəyəri səhv, geri əgər Yalan, istifadəçi hərəkət davam edir 105 00:06:15,950 --> 00:06:18,440 onlar oyun qalib yoxdur, çünki. 106 00:06:18,440 --> 00:06:23,030 Siz yanaşı, bu çek həyata keçirmək və bir dəfə initialize ilə heç-heçə, və hərəkət 107 00:06:23,030 --> 00:06:25,110 Siz on beş oyun başa etdik. 108 00:06:25,110 --> 00:06:27,620 Təbrik edirik və əyləncə oyun var. 109 00:06:27,620 --> 00:06:30,600 My name Zamyla və bu CS50 edir. 110 00:06:30,600 --> 00:06:37,632