>> 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.