ZAMYLA CHAN: Leiskite turėti smagu su penkiolikos. Penkiolika yra pirmasis žaidimas, kad jums įgyvendinti ir tai interaktyvus. Dabar, o ne nerimauti. Jūs neturite rašyti visa tai sau. Pažvelkite į platinimo kodą, nes Daug žaidimo struktūra yra jau įsteigti už jus. Ji pripažįsta ir suvokia komandų eilutę Argumentas iš vartotojo ir sukuria lenta grindžiamas šiuo įėjimo. Jis patikrina, ar žaidimas yra baltieji ir išėjimai kai vartotojo laimėjo žaidimą. Ir laimėti žaidimą, jis gauna įvestis iš vartotojo ir ragina Perkelti funkciją. Taigi, mes ketiname būti įgyvendinti keturias funkcijos penkiolikos žaidimo, init piešti, perkelti ir laimėjo. Pirma, galime spręsti init. Be init už initialize, mes atstovaujame į 2D integer masyvas lenta. Ir tai yra pasaulinį kintamąjį vadinamą lenta su matmenys max ir MAX maksimalūs matmenys lenta. Dabar faktinis aspektas lentos yra pateikiama vartotojui, atstovaujama sveikasis skaičius d, kuris galėtų mažiau nei MAX. Tačiau, C, jūs negalite keisti matricos, todėl jūs pakimba su kad didžiausias matmuo. Jūsų darbas init yra užpildyti valdybos vertės teisingą vertę. Dabar, mes matėme 1D masyvus, tačiau kaip 2D matricos veikia? Yra iš eilės indeksas nulio indeksuojami kaip visada, o tada taip pat stulpelis. Ir jums užpildyti savo tinklelį į mažėjančia tvarka vertybes, kaip šis. Tinklelis, 0, 0, 0 eilutė, stulpelis 0, tai 8, tinklelis 0, 1 yra 7. Tai yra pavyzdys, kur D, tiek D, yra 3. Dabar, per penkiolika lenta taip pat turi yra tuščias plytelių, jei jūs kada nors grojo su fiziniu žaidimą. Tačiau laive yra sveikasis skaičius masyvas, todėl visos reikšmės turi būti sveikieji skaičiai. , Todėl iki jums nuspręsti, sveikasis skaičius vertė atstovauti tuščią plytelių. Inicijuoti savo lenta, galite naudoti kilpos struktūras sudėtyje pradedant būklė lentos, kur lenta I J suma atspindi elemento eilutė i ir j stulpelio. Jie prasidės mažėjančia tvarka, o atminkite, kad jei plytelės skaičius keista, tada jūs ketinate turi apsikeitimo 2 ir 1 vietą. Taigi, mes turime mūsų inicializuoti lenta. Dabar, kad mes inicijuoti mūsų lenta, atėjo laikas parengti jį. Atkreipti bus išspausdinti esamą lenta, bet jūs turite įsitikinti, kad spausdinti plytelės ta pačia tvarka kad jūs inicializuoti juos. Ir jums taip pat reikia formatuoti savo numerius teisingai. Kadangi mes galime turėti atskirus skaitmenis ir dviženklis, tada jūs norite spausdinti tuščią tarpą prieš bet vienaženklis skaičius. Jūs naudojate, kad naudojant vietos rezervavimo ženklas -. Bet atsiminkite mūsų tuščią erdvę. Mes nenorime spausdinti faktinį skaičių kad mes pasirinkome atstovauti kad tuščia erdvė lentos, bet mes taip pat nenoriu nieko spausdinti ne visiems. Taigi, ką galite padaryti, tai nustatyti simbolį arba simbolis atstovauti tuščias plytelių. Ankstesniuose pavyzdžiuose aš pasirinko pabrėžti, tada jūs tiesiog spausdinti kad, kai jūs pasieksite tuščias erdvės savo draw funkcija. Taigi padaryti bus įdėtos už kilpos. Kažkas panašaus į tai. Kiekvienoje eilutėje, o tada kiekvieno vertė eilutėje, jūs ketinate spausdinti vertė šioje vietoje. Kai jūs atspausdinti visas vertybes eilutėje, tada jūs galima spausdinti naują eilutę. Atminkite, kad jūsų lygiosiomis tvarka funkcija turi echo arba atspindėti užsakymą Jūsų inicializuoti funkcija. Dabar, kad jūs inicializuoti lenta ir kad jūs parengti jį, atėjo laikas leisti vartotojas jį redaguoti ir pateikti savo ėjimų. Taigi, Fifteen.c funkcija, Programa trunka įvestis iš vartotojo ir tada ragina pereiti funkciją, einančios į plytelių skaičių, kad vartotojas nori perkelti. Dabar, būkite atsargūs. Tai tikrasis skaičius plytelių o ne jos tikroji padėtis. Taigi, jums reikės ieškoti plytelių s pozicija žinoti, kur ji yra. Dabar jūs turėtumėte leisti tik vartotojas padaryti žingsnį, jei tai legalu. Teisinis žingsnis yra bet plytelių, kad yra šalia tuščią plytelių. Tai reiškia, kad aukščiau ir toliau, į kairę ir į dešinę. Taigi, jūs turite žinoti, kur Blankas plytelės taip pat. Dabar, kiekvieną žingsnį jūs ieškote Vartotojų plytelės, bet tai tikriausiai nėra geriausia ieškoti tuščią plytelių kiekvieną kartą, nes jūs darote kiekvieną kartą vartotojas nori perkelti. Taigi, vietoj to, tai geriausia prisiminti, kur tuščias plytelių naudojant kai gerai pavadinta kintamuosius. Taigi, kai jūs, kad vartotojas galėtų atlikti savo juda, jie yra gerai savo būdas laimėti iš penkiolikos žaidimą. Laimėti penkiolikos, plytelės žaidimą turi būti tam tikra tvarka, ir laimėjo funkcija tikrina, ar žaidimas laimėtas. Ji grąžina True, jei žaidimas yra juodieji ir plytelės yra teisinga tvarka, ir Neteisingų kitaip. Taigi, norint laimėti penkiolikos, plytelės žaidimą turi būti didėjančia tvarka, su Blankas plytelės apačioje dešiniame kampe. Taigi, kaip jums patikrinti, ar vartotojo persikėlė lentos į dešinę orientacija? Na, jums pakartoti virš lentos ir patikrinti reikšmes, įsitikinkite, kad jie į tinkamą vietą. Norėdami tai padaryti, galite naudoti įdėtos už kilpos kaip darėte lygiosiomis, o init. Yra būdų, kaip patikrinti pora ir patvirtinti, ar laive yra teisingai ir laimėti formavimas, nors. Jeigu jūs einate iš kairės į dešinę, pradedant nuo viršutinėje eilutėje žemyn, tada kiekvienas skaičius turi būti didesnis negu pirmesnis. Būkite atsargūs, apie ką jūs vertiname pasirinkote savo tuščią plytelių nors. Arba galite naudoti skaitiklis kintamąjį užtikrinti, kad kiekviena reikšmė yra vieta, jei sugalvoti kažkokia formulė atstovauti tai. Taip smagiai eksperimentuoti su matematika. Kai jūs sugalvoti būdu, grąžinimo Tiesa, kai vartotojas laimėjo žaidimą. Bet jei reikšmė yra neteisingi, grąžinimas Netiesa, vartotojas turi toliau juda nes jie laimėjo rungtynes. Kai jums įgyvendinti šį patikrinimą ir kartu initialize, piešti, ir judėti, jūs baigė penkiolikos žaidimą. Sveikiname ir smagiai žaisti. Mano vardas Zamyla ir tai CS50.