ZAMYLA Chan: Vessünk szórakoztató tizenöt. Tizenöt az első olyan játék, hogy kapsz végrehajtásához és ez interaktív. Nos, ne aggódj. Önnek nem kell írni a egészet magad. Nézd meg a forgalmazási kódot, mert a Sok a játék szerkezete már létre az Ön számára. Elfogadja és feldolgozza a parancssor érv a felhasználó, és létrehoz egy board alapuló input. Ez ellenőrzi, hogy a játék nyert, és kilép ha a felhasználó nyerte a játékot. És, hogy megnyerjük a játékot, ez lesz bemenet a felhasználó és meghívja a Move funkciót. Így fogunk végrehajtó négy funkciók a játék a tizenöt, init, rajzolni, mozgás, és nyert. Először is, hadd kezelni init. Az init, mert inicializálása, az általunk képviselt A fórumon egy 2D egész tömb. És ez egy globális változó neve tábla méretei MAX és MAX, maximális méretei a fórumon. Most, a tényleges mérete az igazgatóság van a felhasználó által megadott, képviselt Az egész d, ami lehet kevesebb, mint MAX. De a C, akkor nem lehet átméretezni tömbök, így már ragadt a maximális mérete. Az Ön feladata az init, hogy feltölteni az értékek a fórumon a megfelelő értéket. Most láttam 1D tömbök, de hogyan 2D tömbök működik? Van egy index a sor, nulla indexelt, mint mindig, és akkor is a az oszlopra. És akkor töltse ki a rács a csökkenő értékek, mint ez. Rács, 0, 0, 0 sor, oszlop 0, 8, rács 0, 1 7. Ez egy példa, ahol d, kis d, 3. Most, a testület tizenöt kell is tartalmaznak egy üres lap, ha valaha játszott a fizikai játék. De a tábla egy egész sor, így az összes értéket kell egésznek lenniük. Tehát ez rajtad múlik, hogy dönt egy egész értéket képviselnek üres csempe. Alaphelyzetbe a fórumon, akkor hurok szerkezetek, hogy tartalmazza a kezdőállapotába fórumon, ahol a tábla i j képviseli az elem a i sorában és j oszlopában. Kezdik Csökkenő sorrendben, és ne feledje, hogy ha a szám a csempe páratlan, akkor most kell majd cserélni a helyét a 2. és 1.. Tehát, van inicializált fórumon. Most, hogy már inicializált a tábla, itt az ideje, hogy rajzolni. Draw kinyomtatja az aktuális állapotát tábla, de meg kell, hogy megbizonyosodjon arról, nyomtatni csempe ugyanabban a sorrendben hogy már inicializált őket. És azt is meg kell formázni a számokat helyesen. Mert lehet, hogy egy számjegy és kétszámjegyű, majd a kívánt nyomtasson ki egy üres tér előtt minden egyjegyű számokat. Ön használja, hogy segítségével A helyőrző -. De ne feledjük, a szóköz. Nem akarjuk kinyomtatni a tényleges száma hogy amit választott, hogy képviselje hogy üres a tábla, de mi is Nem akarok nyomtatni semmit. Szóval, mit tehetünk, hogy határozza meg a szimbólum vagy karakter, hogy képviselje a üres cserép. A korábbi példák azt választottam egy aláhúzás, és akkor csak nyomtatni hogy amikor eléred az üres helyet a sorsoláson funkciót. Így rajzol lesz egymásba ágyazott hurkok. Valami ilyesmi. Minden egyes sorban, majd minden egyes értéket a sort, akkor a nyomdába a érték ezen a helyen. Miután kinyomtatott összes értéket a sorban, akkor lehet nyomtatni egy új sort. Ne feledje, hogy az érdekében, hogy a döntetlent funkciót echo vagy tükör a sorrendben a inicializált funkciót. Most, hogy adja meg az igazgatóság és hogy már rajzolt is, itt az ideje, hogy a felhasználó szerkesztheti, és tegyék mozog. Így a Fifteen.c funkciót, a program veszi be a felhasználó és a majd felhívja a mozgás függvényt, átadva számának a cserép, hogy a a felhasználó akar költözni. Nos, legyen óvatos. Ez a tényleges száma a csempe és nem a tényleges helyzet. Szóval, akkor kell keresni a lapka helyzetben, hogy tudja, hol van. Nos, akkor csak lehetővé teszi a felhasználó számára , hogy a lépés, ha ez legális. A jogi lépés olyan lapka, amely mellett az üres cserép. Ez azt jelenti, felett és alatt, hogy A bal és a jobb. Szóval, akkor kell, hogy hol az üres csempe is. Most, minden mozdulatát Ön keres A felhasználók cserép, de valószínűleg nem a legjobb, hogy keressen az üres cserép minden alkalommal, mert te csinálod minden egyes alkalommal, amikor a a felhasználó akar költözni. Tehát ahelyett, hogy a legjobb, hogy emlékszik, hol Az üres lapka segítségével néhány jól megnevezett változókra. Tehát, ha lehetővé teszi a felhasználó számára, hogy a mozog, ők is a saját módja annak, hogy megnyerte a játék a tizenöt. Ahhoz, hogy megnyerjük a játékot a tizenöt, a lapok kell egy bizonyos sorrendben, és A nyert funkció ellenőrzi, hogy a játék nyert. Visszatér Igaz, ha a játék nyert, és A lapok a megfelelő sorrendben, és hamis egyébként. Tehát, hogy megnyerjük a játékot a tizenöt, csempe kell növekvő sorrendben, az üres cserép a jobb alsó sarokban. Szóval, hogyan lehet ellenőrizni, hogy a felhasználó költözött a fórumon a jobb orientáció? Nos, akkor végighaladni a fedélzeten, és ellenőrizze az értékeket, hogy megbizonyosodjon arról, hogy az ők a megfelelő helyre. Ehhez, akkor a beágyazott a hurok, mint te A sorsolás és init. Van egy pár módon ellenőrizni és ellenőrzik, hogy a tábla helyes és a nyerő formáció, mégis. Ha megy balról jobbra, kezdve A felső sorban lefelé, akkor minden szám nagyobbnak kell lennie, mint a az előzőt. Legyen körültekintő, milyen értéket már választott az üres cserép mégis. Vagy jönne egy számláló változót biztosítja, hogy minden érték a helyén van, ha elér valamilyen formula, hogy képviselje ezt. Szóval jó szórakozást kísérletezik a matek. Miután felér egy út, vissza Igaz, ha a felhasználó nyerte a játékot. De ha érték nem megfelelő, vissza Hamis, a felhasználónak, hogy továbbra is halad mert nem nyerte meg a játékot. Ha végrehajtja ezt a csekket, és együtt A inicializálása, rajzolni, és mozgassa, elkészült a játék a tizenöt. Gratulálunk és szórakoztató játék. A nevem Zamyla és ez CS50.