1 00:00:00,000 --> 00:00:09,386 2 00:00:09,386 --> 00:00:11,332 >> ZAMYLA Chan: Let 's ir jautri ar piecpadsmit. 3 00:00:11,332 --> 00:00:15,680 Piecpadsmit ir pirmā spēle, ka jums īstenot un tas ir interaktīvs. 4 00:00:15,680 --> 00:00:16,410 Tagad nav jāuztraucas. 5 00:00:16,410 --> 00:00:18,830 Jums nav rakstīt viss pats. 6 00:00:18,830 --> 00:00:22,320 Paskaties sadales kodu, jo no spēles struktūras partija jau ir 7 00:00:22,320 --> 00:00:23,880 izveidota jums. 8 00:00:23,880 --> 00:00:28,160 Tā atzīst, un parses komandrindu arguments no lietotāja un rada 9 00:00:28,160 --> 00:00:31,230 valde, pamatojoties uz šo ieguldījumu. 10 00:00:31,230 --> 00:00:35,570 Tā pārbauda, ​​vai spēle ir uzvarēta, un izejām pēc tam, kad lietotājs ir uzvarējis spēli. 11 00:00:35,570 --> 00:00:38,340 Un, lai uzvarētu spēli, tas izpaužas ieeja no lietotāja un 12 00:00:38,340 --> 00:00:40,610 aicina Pārvietot funkciju. 13 00:00:40,610 --> 00:00:44,600 >> Tātad, mēs ejam, lai būtu, ar ko īsteno četras funkcijas spēli piecpadsmit, 14 00:00:44,600 --> 00:00:48,110 init, zīmēt, pārvietot, un uzvarēja. 15 00:00:48,110 --> 00:00:50,340 Pirmkārt, pieņemsim risināt init. 16 00:00:50,340 --> 00:00:55,150 Init, lai sāktu, mēs pārstāvam valdes 2D skaitlim masīvs. 17 00:00:55,150 --> 00:01:01,070 Un tas ir globāls mainīgais sauc tāfele ar izmēriem MAX un MAX, 18 00:01:01,070 --> 00:01:03,880 maksimālie izmēri kuģa. 19 00:01:03,880 --> 00:01:07,310 Tagad, faktiskais dimensija valdes ievada lietotājs, pārstāvētas 20 00:01:07,310 --> 00:01:10,620 skaitlis d, kas varētu būt mazāks par MAX. 21 00:01:10,620 --> 00:01:14,660 Bet, C, jūs nevarat mainīt bloki, lai jūs esat iestrēdzis ar 22 00:01:14,660 --> 00:01:16,730 ka maksimālais izmērs. 23 00:01:16,730 --> 00:01:19,870 >> Tavs darbs init ir aizpildīt vērtības kuģa 24 00:01:19,870 --> 00:01:21,860 ar pareizo vērtību. 25 00:01:21,860 --> 00:01:26,910 Tagad mēs esam redzējuši 1D bloki, bet Kā 2D bloki strādāt? 26 00:01:26,910 --> 00:01:30,985 Tur indekss rindā, nulle indeksēta vienmēr, un pēc tam arī 27 00:01:30,985 --> 00:01:32,100 kolonna. 28 00:01:32,100 --> 00:01:36,120 Un jūs aizpildīt jūsu režģi in dilstošā vērtības, tāpat kā šo. 29 00:01:36,120 --> 00:01:43,260 Grid, 0, 0, 0 rinda, kolonna 0, ir 8, grid 0, 1, ir 7. 30 00:01:43,260 --> 00:01:48,500 Tas ir piemērs, kur d, maz d, ir 3. 31 00:01:48,500 --> 00:01:52,690 >> Tagad, valdes piecpadsmit jābūt arī satur tukšu flīzes, ja jūs esat kādreiz 32 00:01:52,690 --> 00:01:54,280 spēlēja ar fizisku spēli. 33 00:01:54,280 --> 00:01:59,210 , Bet, borta ir vesels skaitlis masīvs, lai visas vērtības ir jābūt veseliem skaitļiem. 34 00:01:59,210 --> 00:02:06,950 Tāpēc tas ir atkarīgs no jums izlemt veselam skaitlim vērtību, kas pārstāv tukšu flīzes. 35 00:02:06,950 --> 00:02:10,460 , Lai sāktu jūsu kuģa, jūs varat izmantot cilpas struktūras, kurās ir 36 00:02:10,460 --> 00:02:16,440 sākuma stāvokli kuģa, kur padome i j apzīmē elementu pie 37 00:02:16,440 --> 00:02:19,380 i rindā un j slejā. 38 00:02:19,380 --> 00:02:23,035 Viņi sāk dilstošā secībā, un, atcerieties, ka, ja vairākas flīžu 39 00:02:23,035 --> 00:02:29,590 ir nepāra, tad jūs nāksies apmainīt vietu 2 un no 1. 40 00:02:29,590 --> 00:02:33,790 Tāpēc, mums ir mūsu inicializēts kuģa. 41 00:02:33,790 --> 00:02:37,440 >> Tagad, ka mēs esam inicializēts mūsu klāja, ir pienācis laiks izdarīt to. 42 00:02:37,440 --> 00:02:41,260 Izloze izdrukāt pašreizējo stāvokli klāja, bet jums ir nepieciešams, lai pārliecinātos, ka 43 00:02:41,260 --> 00:02:44,260 drukāt flīzes tādā pašā secībā ka jūs esat inicializēts tos. 44 00:02:44,260 --> 00:02:47,300 Un jums arī nepieciešams formatēt Jūsu numurus pareizi. 45 00:02:47,300 --> 00:02:51,700 Tāpēc, ka mēs varētu būt atsevišķas ciparu un divciparu skaitli, tad jūs vēlaties, lai 46 00:02:51,700 --> 00:02:54,540 drukāt tukšu vietu pirms Jebkura atsevišķa cipariem. 47 00:02:54,540 --> 00:03:00,150 Jūs varat izmantot, ka, izmantojot vietturis -. 48 00:03:00,150 --> 00:03:02,550 >> Bet atcerieties mūsu tukšu telpu. 49 00:03:02,550 --> 00:03:05,970 Mēs nevēlamies, lai izdrukāt faktisko skaitu ka mēs esam izvēlējušies pārstāvēt 50 00:03:05,970 --> 00:03:10,410 ka tukšu telpu kuģa, bet mēs arī nevēlaties drukāt neko. 51 00:03:10,410 --> 00:03:15,310 Tātad, ko jūs varat darīt, ir, lai noteiktu simbolu vai rakstzīmju pārstāvēt 52 00:03:15,310 --> 00:03:17,050 tukšu flīzes. 53 00:03:17,050 --> 00:03:21,030 Iepriekšējos piemēros es esmu izvēlējies uzsvērt, un tad jūs vienkārši izdrukāt 54 00:03:21,030 --> 00:03:26,970 ka ikreiz, kad jūs sasniedzat tukšu kosmosa jūsu izdarīt funkciju. 55 00:03:26,970 --> 00:03:29,850 >> Tāpēc izdarīt būs ligzdotu uz cilpas. 56 00:03:29,850 --> 00:03:31,150 Kaut kas līdzīgs šim. 57 00:03:31,150 --> 00:03:35,660 Katrā rindā, un pēc tam katrai vērtību rindu, jūs gatavojas drukāt 58 00:03:35,660 --> 00:03:36,940 vērtība šajā vietā. 59 00:03:36,940 --> 00:03:39,470 Pēc tam, kad esat iespiests visas vērtības rindā, tad jūs 60 00:03:39,470 --> 00:03:41,180 var izdrukāt jaunu līniju. 61 00:03:41,180 --> 00:03:47,730 Atcerieties, ka rīkojums par jūsu neizšķirtu funkcijai ir atbalss vai spogulis rīkojumu 62 00:03:47,730 --> 00:03:48,980 Jūsu inicializēts funkciju. 63 00:03:48,980 --> 00:03:51,290 64 00:03:51,290 --> 00:03:55,160 >> Tagad, kad inicializēts kuģa un ka jūs esat sastādīts tā, ir pienācis laiks, lai ļautu 65 00:03:55,160 --> 00:03:58,500 lietotājs rediģēt to un padarītu to kustas. 66 00:03:58,500 --> 00:04:03,840 Tātad Fifteen.c funkciju, programma ņem informāciju no lietotāja un 67 00:04:03,840 --> 00:04:07,690 Tad aicina kustību funkcijas, kas iet skaita flīžu ka 68 00:04:07,690 --> 00:04:09,270 lietotājs vēlas, lai pārvietotos. 69 00:04:09,270 --> 00:04:10,380 Tagad, jābūt uzmanīgiem. 70 00:04:10,380 --> 00:04:14,200 Tas ir faktiskais flīžu un nevis tā faktisko stāvokli. 71 00:04:14,200 --> 00:04:19,010 Tātad, jums ir nepieciešams meklēt flīžu Nostāju, zina, kur tas ir. 72 00:04:19,010 --> 00:04:23,440 >> Tagad, jums vajadzētu ļaut tikai lietotājs , lai pārvietotos, ja tas ir likumīgi. 73 00:04:23,440 --> 00:04:27,910 Juridiskais solis ir jebkurš flīzes, kas ir blakus tukšu flīzes. 74 00:04:27,910 --> 00:04:32,020 Tas nozīmē, virs un zem, lai pa kreisi un pa labi. 75 00:04:32,020 --> 00:04:34,680 Tātad, jums ir jāzina, kur tukšu flīzes ir labi. 76 00:04:34,680 --> 00:04:39,720 Tagad par katru pārvietot jūs meklējat lietotājiem flīzes, bet tas ir iespējams 77 00:04:39,720 --> 00:04:43,030 nav labākais, lai meklētu tukšu flīžu katru reizi, jo jūs darāt to 78 00:04:43,030 --> 00:04:45,270 katru reizi, kad lietotājs vēlas, lai pārvietotos. 79 00:04:45,270 --> 00:04:50,300 Tātad, tā vietā, tas ir labākais, atcerēties, kur tukšu flīzes, izmantojot kādu 80 00:04:50,300 --> 00:04:52,650 labi nosaukts mainīgie. 81 00:04:52,650 --> 00:04:55,970 Tātad, kad jūs ļauj lietotājam veikt savu pārceļas, viņi ir labi par to 82 00:04:55,970 --> 00:04:59,700 veids, kā uzvarēt spēli piecpadsmit. 83 00:04:59,700 --> 00:05:03,940 >> Lai uzvarētu spēli piecpadsmit, flīžu jābūt noteiktā secībā, kā 84 00:05:03,940 --> 00:05:06,970 uzvarēja funkcija pārbauda, ​​vai Spēle ir uzvarēta. 85 00:05:06,970 --> 00:05:10,290 Tā atgriež True, ja spēle ir uzvarēta, un flīzes ir pareizā secībā, 86 00:05:10,290 --> 00:05:12,210 un False citādi. 87 00:05:12,210 --> 00:05:15,830 Tātad, lai uzvarētu spēli piecpadsmit, flīzes jābūt pieaugošā secībā, ar 88 00:05:15,830 --> 00:05:19,230 tukša flīžu apakšējā labajā stūrī. 89 00:05:19,230 --> 00:05:23,630 Tātad, kā jūs pārbaudīt, vai lietotājs ir pārvietots kuģa uz labo 90 00:05:23,630 --> 00:05:25,010 orientāciju? 91 00:05:25,010 --> 00:05:29,200 >> Nu, jūs atkārtot virs klāja un pārbaudiet vērtības, lai pārliecinātos, ka 92 00:05:29,200 --> 00:05:30,550 viņi ir īstajā vietā. 93 00:05:30,550 --> 00:05:33,910 Lai to izdarītu, jūs varat izmantot ligzdotu cilpas tāpat kā jūs 94 00:05:33,910 --> 00:05:36,520 kas izlozē un init. 95 00:05:36,520 --> 00:05:40,430 Ir vairāki veidi, lai pārbaudītu un apstiprināt to, vai valde ir 96 00:05:40,430 --> 00:05:42,860 pareiza un uzvarētāju veidošanos, though. 97 00:05:42,860 --> 00:05:47,330 Ja jūs iet no kreisās uz labo, sākot no augšas uz leju rindas, tad katru 98 00:05:47,330 --> 00:05:50,590 skaits ir lielāks nekā iepriekšējais. 99 00:05:50,590 --> 00:05:54,530 Jābūt uzmanīgiem par to, ko vērtējam jūs esat izvēlēts, lai jūsu tukšo flīzes though. 100 00:05:54,530 --> 00:05:59,250 >> Vai jūs varētu izmantot counter mainīgais nodrošina to, ka katra vērtība ir vietā, ja 101 00:05:59,250 --> 00:06:03,660 jūs nākt klajā ar kaut kāda veida formula pārstāvēt šo. 102 00:06:03,660 --> 00:06:06,250 Tātad ir jautri eksperimentēt ar matemātiku. 103 00:06:06,250 --> 00:06:10,930 Tiklīdz jūs esat nākt klajā ar veidu, atgriešanās True, kad lietotājs ir uzvarējis spēli. 104 00:06:10,930 --> 00:06:15,950 Bet, ja kāda vērtība ir nepareiza, atgriešanās Nepatiesa, lietotājam ir turpināt virzību 105 00:06:15,950 --> 00:06:18,440 tāpēc, ka viņi nav uzvarējuši spēli. 106 00:06:18,440 --> 00:06:23,030 Kad jūs īstenotu šo pārbaudi un kopā ar sāktu, zīmēt, un pārvietot, 107 00:06:23,030 --> 00:06:25,110 Jūs esat pabeidzis spēli piecpadsmit. 108 00:06:25,110 --> 00:06:27,620 Apsveicam un ir jautri spēlēt. 109 00:06:27,620 --> 00:06:30,600 Mans vārds ir Zamyla un tas ir CS50. 110 00:06:30,600 --> 00:06:37,632