1 00:00:00,000 --> 00:00:09,410 2 00:00:09,410 --> 00:00:11,002 >> ZAMYLA CHAN: Let's have fun met 15. 3 00:00:11,002 --> 00:00:13,960 15 is het eerste spel dat je krijgt te implementeren. 4 00:00:13,960 --> 00:00:15,350 En het is interactief. 5 00:00:15,350 --> 00:00:16,079 Nu, geen zorgen te maken. 6 00:00:16,079 --> 00:00:18,490 Je hoeft niet te schrijven de hele ding zelf. 7 00:00:18,490 --> 00:00:19,650 >> Kijk naar de verdeelsleutel. 8 00:00:19,650 --> 00:00:23,560 Omdat veel van het spel structuur is al ingesteld voor u. 9 00:00:23,560 --> 00:00:27,820 Het accepteert en ontleedt een command line argument van de gebruiker, en creëert een 10 00:00:27,820 --> 00:00:30,900 raad op basis van die input. 11 00:00:30,900 --> 00:00:35,240 >> Het controleert of het spel wordt gewonnen, en afritten zodra de gebruiker het spel gewonnen. 12 00:00:35,240 --> 00:00:38,010 En om het spel te winnen, het wordt input van de gebruiker en 13 00:00:38,010 --> 00:00:40,260 noemt de verhuizing functie. 14 00:00:40,260 --> 00:00:44,270 Dus we gaan implementeren vier functies voor het spel van de 15 - 15 00:00:44,270 --> 00:00:47,780 init, tekenen, verplaatsen, en won. 16 00:00:47,780 --> 00:00:50,000 >> Laten we eerst eens aan te pakken init. 17 00:00:50,000 --> 00:00:54,820 In init, voor initialiseren, wij vertegenwoordigen de raad in een 2D integer array. 18 00:00:54,820 --> 00:01:00,840 En dit is een globale variabele genaamd bord met afmetingen max en max, de 19 00:01:00,840 --> 00:01:03,550 maximale afmetingen van het bord. 20 00:01:03,550 --> 00:01:06,970 Nu, de werkelijke dimensie van het bestuur wordt gegeven door de gebruiker, weergegeven in 21 00:01:06,970 --> 00:01:10,300 het gehele getal d, waardoor minder dan maximaal. 22 00:01:10,300 --> 00:01:13,030 Maar in C, kun je niet arrays wijzigen. 23 00:01:13,030 --> 00:01:16,400 Dus zit je vast aan dat maximale afmeting. 24 00:01:16,400 --> 00:01:19,510 >> Jouw taak in init is te bevolken de waarden van de raad van bestuur 25 00:01:19,510 --> 00:01:21,540 met de juiste waarden. 26 00:01:21,540 --> 00:01:23,600 Nu hebben we 1D arrays gezien. 27 00:01:23,600 --> 00:01:26,570 Maar hoe weet 2D arrays werken? 28 00:01:26,570 --> 00:01:29,820 Er is een index van de rij, 0-index, zoals altijd, en 29 00:01:29,820 --> 00:01:31,770 dan ook van de kolom. 30 00:01:31,770 --> 00:01:35,790 >> En u zult uw rooster invullen in aflopend waarden, net als dit. 31 00:01:35,790 --> 00:01:41,330 Grid 0, 0, rij 0, kolom 0, is 8. 32 00:01:41,330 --> 00:01:42,930 Grid 0, 1 op 7. 33 00:01:42,930 --> 00:01:48,160 Dit is een voorbeeld waarbij d, kleine d, is 3. 34 00:01:48,160 --> 00:01:52,630 Nu moet de raad in 15 bevatten ook een lege tegel, als je ooit hebt gespeeld 35 00:01:52,630 --> 00:01:53,940 met het fysieke spel. 36 00:01:53,940 --> 00:01:56,350 >> Maar raad is een integer array. 37 00:01:56,350 --> 00:01:58,880 Dus alle waarden moeten gehele getallen zijn. 38 00:01:58,880 --> 00:02:06,580 Dus het is aan jou om een ​​geheel getal te beslissen waarde aan een blanco tegel vertegenwoordigen. 39 00:02:06,580 --> 00:02:10,250 >> Om je board te initialiseren, kunt u gebruik maken van lusstructuren bevatten de 40 00:02:10,250 --> 00:02:16,100 beginsituatie van het bestuur, waar raad i, j vertegenwoordigt het element 41 00:02:16,100 --> 00:02:19,050 rij i en kolom j. 42 00:02:19,050 --> 00:02:20,710 Ze beginnen in aflopende volgorde. 43 00:02:20,710 --> 00:02:24,200 En vergeten dat als het aantal tegels oneven is, dan zul je 44 00:02:24,200 --> 00:02:29,260 moet de plaats verwisselen 2 en 1. 45 00:02:29,260 --> 00:02:31,420 Dus daar hebben we onze geïnitialiseerd boord. 46 00:02:31,420 --> 00:02:32,683