1 00:00:00,000 --> 00:00:09,410 2 00:00:09,410 --> 00:00:11,002 >> ZAMYLA CHAN: Ni havas amuzon kun 15. 3 00:00:11,002 --> 00:00:13,960 15 estas la unua ludo kiu vi ricevas apliki. 4 00:00:13,960 --> 00:00:15,350 Kaj ĝi estas interaktiva. 5 00:00:15,350 --> 00:00:16,079 Nun, ne maltrankviliĝu. 6 00:00:16,079 --> 00:00:18,490 Vi ne devas skribi la tuta aĵo mem. 7 00:00:18,490 --> 00:00:19,650 >> Rigardu la dissendo-kodo. 8 00:00:19,650 --> 00:00:23,560 Ĉar multon de la ludo strukturo Estas jam starigis por vi. 9 00:00:23,560 --> 00:00:27,820 Ĝi akceptas kaj parses a komandlinia argumento de la uzanto, kaj kreas 10 00:00:27,820 --> 00:00:30,900 tabulo bazita sur tiu enigo. 11 00:00:30,900 --> 00:00:35,240 >> Ĝi kontrolas se la ludo estas gajnita, kaj elirojn Tuj la uzanto gajnas la ludon. 12 00:00:35,240 --> 00:00:38,010 Kaj por gajni la ludon, gxi ricevas enigo de la uzanto kaj 13 00:00:38,010 --> 00:00:40,260 nomas la movado funkcio. 14 00:00:40,260 --> 00:00:44,270 Do ni iras al efektivigo kvar funkcioj por la partio de la 15 - 15 00:00:44,270 --> 00:00:47,780 init, desegni, movado, kaj gajnis. 16 00:00:47,780 --> 00:00:50,000 >> Unue, ni pritrakti init. 17 00:00:50,000 --> 00:00:54,820 En init, por pravalorizi, ni reprezentas la estraro en 2D entjero tabelo. 18 00:00:54,820 --> 00:01:00,840 Kaj tio estas globala variablo nomata tabulo kun dimensioj maks kaj max, la 19 00:01:00,840 --> 00:01:03,550 maksimuma dimensioj de la tabulo. 20 00:01:03,550 --> 00:01:06,970 Nu, la reala dimensio de la estraro estas donita per la uzanton, reprezentita en 21 00:01:06,970 --> 00:01:10,300 la entjera d, kiu povus esti malpli ol maks. 22 00:01:10,300 --> 00:01:13,030 Sed en C, oni ne povas regrandigi arrays. 23 00:01:13,030 --> 00:01:16,400 Do vi estas hokita kun tiu maksimuma dimensio. 24 00:01:16,400 --> 00:01:19,510 >> Via laboro en init estas popoli la valoroj de la estraro 25 00:01:19,510 --> 00:01:21,540 kun la korekta valoroj. 26 00:01:21,540 --> 00:01:23,600 Nun, ni vidis 1D arrays. 27 00:01:23,600 --> 00:01:26,570 Sed kiel 2D arrays labori? 28 00:01:26,570 --> 00:01:29,820 Tie estas indekso de la vico, 0 indekso, kiel ĉiam, kaj 29 00:01:29,820 --> 00:01:31,770 tiam ankaŭ de la kolumno. 30 00:01:31,770 --> 00:01:35,790 >> Kaj vi plenigu viajn grid in en malsuprenirantaj valorojn, same kiel ĉi tio. 31 00:01:35,790 --> 00:01:41,330 Grid 0, 0, vico 0, kolumno 0, estas 8. 32 00:01:41,330 --> 00:01:42,930 Grid 0, 1 estas 7. 33 00:01:42,930 --> 00:01:48,160 Tio estas por ekzemplo kie d, iom d, estas 3. 34 00:01:48,160 --> 00:01:52,630 Nun, la estraro en 15 devas ankaŭ enhavi malplenan kahelo, se vi iam ludis 35 00:01:52,630 --> 00:01:53,940 kun la fizika ludo. 36 00:01:53,940 --> 00:01:56,350 >> Sed tabulo estas entjero tabelo. 37 00:01:56,350 --> 00:01:58,880 Do ĉiuj valoroj devas esti entjeroj. 38 00:01:58,880 --> 00:02:06,580 Do ĝi estas ĝis vi decidos entjero valoro reprezenti malplenan kahelo. 39 00:02:06,580 --> 00:02:10,250 >> Por pravalorizi via tabulo, vi povas uzi buklo strukturoj por enhavi la 40 00:02:10,250 --> 00:02:16,100 komencante stato de la tabulo, kie tabulo i, j reprezentas la elementon en 41 00:02:16,100 --> 00:02:19,050 vico i kaj kolumno j. 42 00:02:19,050 --> 00:02:20,710 Ili komencas en descendanta ordo. 43 00:02:20,710 --> 00:02:24,200 Kaj memoru, ke se la nombro de kaheloj estas nepara, tiam vi tuj 44 00:02:24,200 --> 00:02:29,260 devas interŝanĝi la situo de 2 kaj de 1. 45 00:02:29,260 --> 00:02:31,420 Do ni havas nian pravalorizita tabulo. 46 00:02:31,420 --> 00:02:32,683