ZAMYLA Chan: Ajmo Zabavite se s petnaest godina. Petnaest je prva igra koja ste dobili provesti i to je interaktivni. Sad, ne brinite. Ne morate pisati Cijela stvar se. Pogledajte distribucijskom kodu, jer Mnogo igri strukture već postaviti za vas. Ona prihvaća i analizira naredbenog retka Argument od korisnika i stvara odbora, temeljena na taj ulaz. Ona provjerava da li se igra dobiva i izlazi Nakon što korisnik je pobijedio u igri. A za pobjedu u igri, ona dobiva input od korisnika i poziva Move funkciju. Tako ćemo se provođenje četiri Funkcije za igru ​​od petnaest, init, crtanje, potez, i pobijedio. Prvo, neka se borila init. U init, za inicijalizaciju, zastupamo pansion u 2D cjelobrojnog polja. A to je globalna varijabla zove ploču dimenzija MAX i Max, maksimalna veličina ploče. Sada, stvarna dimenzija ploči je dano od strane korisnika, koju zastupa u cijeli broj d, što bi moglo biti manja od MAX. No, u C, ne možete promijeniti veličinu polja, tako da ste zapeli s da je maksimalna dimenzija. Vaš zadatak u init je naseliti vrijednosti na ploči uz odgovarajuću vrijednost. Sada smo vidjeli 1D polja, ali Kako 2D nizovi raditi? Tu je indeks zaredom, nula indeksirane kao i uvijek, a onda i od stupac. A vi ćete ispuniti svoju mrežu u u opadajuće vrijednosti, baš kao što je ovaj. Grid, 0, 0, 0 red, stupac 0, što je 8, grid 0, 1 je 7. Ovo je za primjer gdje d, malo d, je 3. Sada, pansion u petnaest također mora sadrže prazan pločice, ako ste ikada igrao s fizičkim igri. No, Odbor je cijeli niz, pa sve vrijednosti moraju biti cijeli. Dakle, to je na vama je da odlučite cijeli broj Vrijednost za zastupanje prazan pločice. Da bi započeti svoj odbor, možete koristiti Strukture petlje da sadrže počevši stanje odbora, gdje je ploča I j predstavlja element na red i i stupcu j. Oni će početi u redoslijedu i, zapamtite, da ako broj pločica neparan, onda ćeš se morati mijenjati položaj 2 i od 1. Dakle, postoji, mi imamo inicijaliziran odbora. Sada, da smo inicijaliziran naše odbora, vrijeme je da ga izvući. Ždrijeb će se ispisati trenutno stanje odbora, ali vi morate biti sigurni ispisati pločice u istom redoslijedu da ste ih ponište. I također je potrebno formatirati Vaši brojevi ispravno. Budući da smo mogli imati jednu znamenku i dvoznamenkasta, onda želite ispisati prazan prostor prije bilo jednoznamenkastim brojevima. Igrate se pomoću rezervirano mjesto -. Ali zapamtite našu prazan prostor. Ne želimo ispisati stvarni broj da smo izabrani da predstavljaju da je prazan prostor u brodu, ali smo također ne želim ispisati ništa. Dakle, što možete učiniti jest odrediti simbol ili lik za zastupanje prazan pločice. U prethodnom primjeru sam izabrao naglašavaju, a onda samo ispisati da kad god dođete prazna prostora u funkciji izvlačenja. Dakle, privući će uklopljeni za petlje. Nešto kao što je ovaj. Za svaki redak, a zatim za svaku vrijednost u red, idete za ispis Vrijednost u ovom prostoru. Nakon što ste ispisali sve vrijednosti u redu, onda može ispisati novu liniju. Sjetite se da je nalog za vaše izvlačenje Funkcija mora jeka ili ogledalo redoslijed u svom postavljene funkcije. Sada kada ste inicijaliziran odbora i da ste ga izvući, to je vrijeme da Korisnik ga urediti i napraviti svoje poteze. Tako je u funkciji Fifteen.c, Program traje unos od korisnika i zatim poziva potez funkciju, prolazi broja pločica koje korisnik želi pomaknuti. Sada, budite oprezni. To je stvarni broj pločica a ne njezin stvarni položaj. Dakle, morat ćete tražiti pločica je Položaj znati gdje je to. Sada, samo treba dopustiti korisnik napraviti potez, ako je legalno. Pravni potez je bilo crijep koji je u susjedstvu na prazan pločice. To znači, gore i dolje, na lijevo i desno. Dakle, morat ćete znati gdje prazan crijep je kao dobro. Sada, za svaki potez ste u potrazi za Korisnici crijep, ali to je vjerojatno nije najbolje tražiti prazan pločice svaki put, jer ti to radiš svaki put korisnik želi pomaknuti. Dakle, umjesto da, to je najbolje da se sjetiti gdje prazan pločice koristi neke i nazvana varijable. Dakle, nakon što omogućuju korisniku da bi im poteze, oni su na dobrom način za pobjedu od petnaest. Kako pobijediti u igri petnaest pločica moraju biti u određenom redoslijedu, te osvojio funkcija provjerava jesu li Igra je dobila. To vraća True ako je igra dobila i pločice su u ispravnom redoslijedu, Lažno i inače. Dakle, za pobjedu u igri petnaest pločica moraju biti povećanje reda, s prazan pločice u donjem desnom kutu. Pa kako se provjeriti je li korisnik je preselio pločicu u pravu orijentacije? Pa, što će ponoviti više odbora i provjeriti vrijednosti kako bi bili sigurni da je oni su na pravom mjestu. Da biste to učinili, možete koristiti ugniježđeni za petlje baš kao i ti u ždrijebu i init. Postoji nekoliko načina za provjeru i provjeriti da li je ploča točne i pobjednički Formiranje, ipak. Ako idete s lijeva na desno, s početkom od vrha prema dolje redu, onda je svaki broj mora biti veći od prethodni. Budite oprezni o tome što cijenite sam izabrao za svoj prazan pločice ipak. Ili možete koristiti varijablu osporavanju Osigurati da svaka vrijednost je na mjestu, ako da se s nekom vrstom Formula za zastupanje ovo. Tako se zabaviti eksperimentiranje s matematikom. Nakon što ste se s puta, povratak Istina jednom korisniku je pobijedio u igri. Ali, ako bilo koja vrijednost je netočna, povratak Netočno, korisnik mora nastaviti kretanje jer oni nisu osvojili igru. Nakon što provede ovu provjeru i, zajedno s inicijalizirati, crtanje i premjestiti, ste završili igru ​​od petnaest. Čestitam i zabaviti. Moje ime je Zamyla i to je CS50.