1 00:00:00,000 --> 00:00:09,386 2 00:00:09,386 --> 00:00:11,332 >> ZAMYLA Chan: Katsotaanpa hauskaa Viisitoista. 3 00:00:11,332 --> 00:00:15,680 Viisitoista on ensimmäinen peli, että saat toteuttaa ja se on interaktiivinen. 4 00:00:15,680 --> 00:00:16,410 Nyt, ei hätää. 5 00:00:16,410 --> 00:00:18,830 Sinun ei tarvitse kirjoittaa Koko juttu itse. 6 00:00:18,830 --> 00:00:22,320 Katsokaa jakelu koodia, koska Monet pelin rakenne on jo 7 00:00:22,320 --> 00:00:23,880 perustaa sinulle. 8 00:00:23,880 --> 00:00:28,160 Se hyväksyy ja jäsentää komentoriviltä lausumat käyttäjä ja luo 9 00:00:28,160 --> 00:00:31,230 aluksella perustuu siihen, että tulo. 10 00:00:31,230 --> 00:00:35,570 Se tarkistaa, jos peli on voitettu ja uloskäynnit kun käyttäjän voitti pelin. 11 00:00:35,570 --> 00:00:38,340 Ja voittaa pelin, se saa käyttäjän syötettä ja 12 00:00:38,340 --> 00:00:40,610 kehottaa Move-toimintaa. 13 00:00:40,610 --> 00:00:44,600 >> Joten aiomme toteuttavansa neljä toiminnot peli Fifteen, 14 00:00:44,600 --> 00:00:48,110 init, piirtää, liikkua, ja voitti. 15 00:00:48,110 --> 00:00:50,340 Ensimmäinen, nyt puuttua init. 16 00:00:50,340 --> 00:00:55,150 Init, sillä Alusta, me edustamme aluksella 2D kokonaisluku array. 17 00:00:55,150 --> 00:01:01,070 Ja tämä on globaali muuttuja nimeltään kartonkia mitat MAX, ja MAX, 18 00:01:01,070 --> 00:01:03,880 maksimimitat aluksella. 19 00:01:03,880 --> 00:01:07,310 Nyt todellinen ulottuvuus hallituksen annetaan käyttäjälle, edustettuna 20 00:01:07,310 --> 00:01:10,620 kokonaisluku d, joka voisi olla pienempi kuin MAX. 21 00:01:10,620 --> 00:01:14,660 Mutta, C, et voi muuttaa paneelit, niin olet juuttunut 22 00:01:14,660 --> 00:01:16,730 että suurin mitta. 23 00:01:16,730 --> 00:01:19,870 >> Sinun tehtäväsi init on lisääntynyt arvot hallituksen 24 00:01:19,870 --> 00:01:21,860 oikea arvo. 25 00:01:21,860 --> 00:01:26,910 Nyt olemme nähneet 1D paneelit, mutta miten 2D paneelit toimivat? 26 00:01:26,910 --> 00:01:30,985 On indeksi rivin nolla indeksoitu kuten aina, ja sitten myös 27 00:01:30,985 --> 00:01:32,100 sarake. 28 00:01:32,100 --> 00:01:36,120 Ja voit täyttää ruudukko sisään laskeva arvot, aivan kuten tämä. 29 00:01:36,120 --> 00:01:43,260 Grid, 0, 0, rivi 0, sarake 0, on 8, grid 0, 1 on 7. 30 00:01:43,260 --> 00:01:48,500 Tämä on esimerkki, jossa d, pieni d, on 3. 31 00:01:48,500 --> 00:01:52,690 >> Nyt hallituksen viidessätoista on myös sisältävät tyhjä laatta, jos olet joskus 32 00:01:52,690 --> 00:01:54,280 pelataan fyysistä peliä. 33 00:01:54,280 --> 00:01:59,210 Mutta hallitus on kokonaisluku array, niin kaikki arvot täytyy olla kokonaislukuja. 34 00:01:59,210 --> 00:02:06,950 Joten se on jopa voit päättää kokonaisluku arvo edustaa tyhjä laatta. 35 00:02:06,950 --> 00:02:10,460 Alustaa teidän aluksella, voit käyttää loop-rakenteita sisältävän 36 00:02:10,460 --> 00:02:16,440 alkaen valtion aluksella, jossa hallituksen i j edustaa elementin 37 00:02:16,440 --> 00:02:19,380 rivillä i ja sarakkeessa j. 38 00:02:19,380 --> 00:02:23,035 He alkavat laskevassa järjestyksessä, ja muistaa, että jos laattojen lukumäärä 39 00:02:23,035 --> 00:02:29,590 on pariton, niin olet menossa on Vaihdetaan sijainti 2 ja 1. 40 00:02:29,590 --> 00:02:33,790 Joten ei, meillä on alustettu aluksella. 41 00:02:33,790 --> 00:02:37,440 >> Nyt, että olemme alustettu meidän aluksella, on aika tehdä se. 42 00:02:37,440 --> 00:02:41,260 Arvonta tulostaa nykytilaa aluksella, mutta sinun täytyy varmistaa, 43 00:02:41,260 --> 00:02:44,260 tulostaa laatat samassa järjestyksessä että olet alustettu niitä. 44 00:02:44,260 --> 00:02:47,300 Ja sinun on myös muotoilla numerot oikein. 45 00:02:47,300 --> 00:02:51,700 Koska meillä voi olla yhden numeron ja kaksinumeroisia, niin haluat 46 00:02:51,700 --> 00:02:54,540 tulostaa välilyönti ennen yksittäistä numeroa numeroita. 47 00:02:54,540 --> 00:03:00,150 Käytät että käyttämällä paikkamerkki -. 48 00:03:00,150 --> 00:03:02,550 >> Mutta muista meidän välilyönti. 49 00:03:02,550 --> 00:03:05,970 Emme halua tulostaa todellinen määrä että olemme valinneet edustamaan 50 00:03:05,970 --> 00:03:10,410 että tyhjä tila aluksella, mutta myös eivät halua tulostaa mitään. 51 00:03:10,410 --> 00:03:15,310 Joten mitä voit tehdä on määritellä symbolin tai merkin edustamaan 52 00:03:15,310 --> 00:03:17,050 tyhjä laatta. 53 00:03:17,050 --> 00:03:21,030 Aiemmissa esimerkeissä olen valinnut alaviiva, ja sitten vain tulostaa 54 00:03:21,030 --> 00:03:26,970 että aina tulet tyhjä tilaa piirtää toiminto. 55 00:03:26,970 --> 00:03:29,850 >> Joten Arvonta ovat sisäkkäisiä silmukoita. 56 00:03:29,850 --> 00:03:31,150 Jotain tällaista. 57 00:03:31,150 --> 00:03:35,660 Jokaista riviä, ja sitten kunkin arvo rivi, aiot tulostaa 58 00:03:35,660 --> 00:03:36,940 arvo tässä tilassa. 59 00:03:36,940 --> 00:03:39,470 Kun olet tulostanut kaikki arvot rivillä, sinun 60 00:03:39,470 --> 00:03:41,180 voi tulostaa uuden rivin. 61 00:03:41,180 --> 00:03:47,730 Muista, että jotta teidän tasapeliin Toiminto on kaiku tai peili järjestyksessä 62 00:03:47,730 --> 00:03:48,980 teidän alustetaan funktion. 63 00:03:48,980 --> 00:03:51,290 64 00:03:51,290 --> 00:03:55,160 >> Nyt kun alustettu hallituksen ja että olet laadittu, se on aika antaa 65 00:03:55,160 --> 00:03:58,500 käyttäjän muokata sitä ja tekevät siirtonsa. 66 00:03:58,500 --> 00:04:03,840 Joten Fifteen.c toiminto, ohjelma vie käyttäjän syötettä ja 67 00:04:03,840 --> 00:04:07,690 kutsuu sitten liikefunktio, kulkee määrä laatta, joka 68 00:04:07,690 --> 00:04:09,270 käyttäjä haluaa liikkua. 69 00:04:09,270 --> 00:04:10,380 Nyt olla varovainen. 70 00:04:10,380 --> 00:04:14,200 Tämä on todellinen määrä laatta eikä sen todellista asemaa. 71 00:04:14,200 --> 00:04:19,010 Joten, sinun täytyy etsiä laattojen voi tietää missä se on. 72 00:04:19,010 --> 00:04:23,440 >> Nyt sinun pitäisi vain antaa käyttäjälle tehdä liikkua, jos se on laillista. 73 00:04:23,440 --> 00:04:27,910 Laillinen siirto on mikä tahansa laatta, joka on vieressä tyhjä laatta. 74 00:04:27,910 --> 00:04:32,020 Tämä tarkoittaa, ylä-ja alapuolella, jotta vasemmalle ja oikealle. 75 00:04:32,020 --> 00:04:34,680 Joten sinun täytyy tietää, missä tyhjä laatta on samoin. 76 00:04:34,680 --> 00:04:39,720 Nyt jokaista liikettään etsit käyttäjät laatta, mutta se on luultavasti 77 00:04:39,720 --> 00:04:43,030 ei parasta etsiä tyhjä laatta joka kerta, koska teet sen 78 00:04:43,030 --> 00:04:45,270 joka ikinen kerta käyttäjä haluaa liikkua. 79 00:04:45,270 --> 00:04:50,300 Joten sen sijaan, se on parasta muistaa missä tyhjä laatta käyttää joitakin 80 00:04:50,300 --> 00:04:52,650 hyvin nimetty muuttujia. 81 00:04:52,650 --> 00:04:55,970 Joten kun antaa käyttäjälle mahdollisuuden tehdä liikkuu, he ovat hyvin niiden 82 00:04:55,970 --> 00:04:59,700 tapa voittaa peli Viisitoista. 83 00:04:59,700 --> 00:05:03,940 >> Voittaa pelin viidentoista, laatat täytyy olla tietyssä järjestyksessä, ja 84 00:05:03,940 --> 00:05:06,970 voitti toiminto tarkistaa, onko peli on voitettu. 85 00:05:06,970 --> 00:05:10,290 Se palauttaa true, jos peli on voitettu ja laatat ovat oikeassa järjestyksessä, 86 00:05:10,290 --> 00:05:12,210 ja muuten False. 87 00:05:12,210 --> 00:05:15,830 Niin voittaa pelin Fifteen, laatat on kasvava järjestys, jossa 88 00:05:15,830 --> 00:05:19,230 tyhjä laatan oikeassa alakulmassa. 89 00:05:19,230 --> 00:05:23,630 Niin miten voit tarkistaa, onko käyttäjä on siirtynyt hallituksen oikeaan 90 00:05:23,630 --> 00:05:25,010 suuntautumiseen? 91 00:05:25,010 --> 00:05:29,200 >> No, voit kerrata yli hallituksen ja tarkista arvot varmistaa, että 92 00:05:29,200 --> 00:05:30,550 he ovat oikeassa paikassa. 93 00:05:30,550 --> 00:05:33,910 Voit tehdä tämän, voit käyttää sisäkkäisiä silmukoita aivan kuten teit 94 00:05:33,910 --> 00:05:36,520 in piirtää ja init. 95 00:05:36,520 --> 00:05:40,430 On olemassa pari tapaa tarkistaa ja vahvista onko aluksella on 96 00:05:40,430 --> 00:05:42,860 oikea ja voittaa muodostumista, vaikka. 97 00:05:42,860 --> 00:05:47,330 Jos menet vasemmalta oikealle, alkaen ylhäältä rivi alas, sen jälkeen joka 98 00:05:47,330 --> 00:05:50,590 määrä on oltava suurempi kuin edellinen. 99 00:05:50,590 --> 00:05:54,530 Ole varovainen, mitä arvostamme olet valitsemasi tyhjä laatta kuitenkin. 100 00:05:54,530 --> 00:05:59,250 >> Tai voit käyttää laskurin muuttujan varmistettava, että jokainen arvo on paikallaan, jos 101 00:05:59,250 --> 00:06:03,660 keksitte jonkinlainen kaava edustamaan tätä. 102 00:06:03,660 --> 00:06:06,250 Niin hauskaa kokeilemalla kanssa matematiikka. 103 00:06:06,250 --> 00:06:10,930 Kun olet keksiä tapa, paluu True kun käyttäjä on voittanut pelin. 104 00:06:10,930 --> 00:06:15,950 Mutta jos jokin arvo on virheellinen, paluu Epätosi, käyttäjä on edelleen liikkuva 105 00:06:15,950 --> 00:06:18,440 koska he eivät ole voittaneet pelin. 106 00:06:18,440 --> 00:06:23,030 Kun käytät tätä tarkistaa ja yhdessä kanssa Alusta, piirtää, ja liikkua, 107 00:06:23,030 --> 00:06:25,110 olet valmis peli Viisitoista. 108 00:06:25,110 --> 00:06:27,620 Onnea ja pidä hauskaa. 109 00:06:27,620 --> 00:06:30,600 Nimeni on Zamyla ja tämä on CS50. 110 00:06:30,600 --> 00:06:37,632