>> ZAMYLA Chan: Let 's ir jautri ar piecpadsmit.
Piecpadsmit ir pirmā spēle, ka jums īstenot un tas ir interaktīvs.
Tagad nav jāuztraucas.
Jums nav rakstīt viss pats.
Paskaties sadales kodu, jo no spēles struktūras partija jau ir
izveidota jums.
Tā atzīst, un parses komandrindu arguments no lietotāja un rada
valde, pamatojoties uz šo ieguldījumu.
Tā pārbauda, ​​vai spēle ir uzvarēta, un izejām pēc tam, kad lietotājs ir uzvarējis spēli.
Un, lai uzvarētu spēli, tas izpaužas ieeja no lietotāja un
aicina Pārvietot funkciju.
>> Tātad, mēs ejam, lai būtu, ar ko īsteno četras funkcijas spēli piecpadsmit,
init, zīmēt, pārvietot, un uzvarēja.
Pirmkārt, pieņemsim risināt init.
Init, lai sāktu, mēs pārstāvam valdes 2D skaitlim masīvs.
Un tas ir globāls mainīgais sauc tāfele ar izmēriem MAX un MAX,
maksimālie izmēri kuģa.
Tagad, faktiskais dimensija valdes ievada lietotājs, pārstāvētas
skaitlis d, kas varētu būt mazāks par MAX.
Bet, C, jūs nevarat mainīt bloki, lai jūs esat iestrēdzis ar
ka maksimālais izmērs.
>> Tavs darbs init ir aizpildīt vērtības kuģa
ar pareizo vērtību.
Tagad mēs esam redzējuši 1D bloki, bet Kā 2D bloki strādāt?
Tur indekss rindā, nulle indeksēta vienmēr, un pēc tam arī
kolonna.
Un jūs aizpildīt jūsu režģi in dilstošā vērtības, tāpat kā šo.
Grid, 0, 0, 0 rinda, kolonna 0, ir 8, grid 0, 1, ir 7.
Tas ir piemērs, kur d, maz d, ir 3.
>> Tagad, valdes piecpadsmit jābūt arī satur tukšu flīzes, ja jūs esat kādreiz
spēlēja ar fizisku spēli.
, Bet, borta ir vesels skaitlis masīvs, lai visas vērtības ir jābūt veseliem skaitļiem.
Tāpēc tas ir atkarīgs no jums izlemt veselam skaitlim vērtību, kas pārstāv tukšu flīzes.
, Lai sāktu jūsu kuģa, jūs varat izmantot cilpas struktūras, kurās ir
sākuma stāvokli kuģa, kur padome i j apzīmē elementu pie
i rindā un j slejā.
Viņi sāk dilstošā secībā, un, atcerieties, ka, ja vairākas flīžu
ir nepāra, tad jūs nāksies apmainīt vietu 2 un no 1.
Tāpēc, mums ir mūsu inicializēts kuģa.
>> Tagad, ka mēs esam inicializēts mūsu klāja, ir pienācis laiks izdarīt to.
Izloze izdrukāt pašreizējo stāvokli klāja, bet jums ir nepieciešams, lai pārliecinātos, ka
drukāt flīzes tādā pašā secībā ka jūs esat inicializēts tos.
Un jums arī nepieciešams formatēt Jūsu numurus pareizi.
Tāpēc, ka mēs varētu būt atsevišķas ciparu un divciparu skaitli, tad jūs vēlaties, lai
drukāt tukšu vietu pirms Jebkura atsevišķa cipariem.
Jūs varat izmantot, ka, izmantojot vietturis -.
>> Bet atcerieties mūsu tukšu telpu.
Mēs nevēlamies, lai izdrukāt faktisko skaitu ka mēs esam izvēlējušies pārstāvēt
ka tukšu telpu kuģa, bet mēs arī nevēlaties drukāt neko.
Tātad, ko jūs varat darīt, ir, lai noteiktu simbolu vai rakstzīmju pārstāvēt
tukšu flīzes.
Iepriekšējos piemēros es esmu izvēlējies uzsvērt, un tad jūs vienkārši izdrukāt
ka ikreiz, kad jūs sasniedzat tukšu kosmosa jūsu izdarīt funkciju.
>> Tāpēc izdarīt būs ligzdotu uz cilpas.
Kaut kas līdzīgs šim.
Katrā rindā, un pēc tam katrai vērtību rindu, jūs gatavojas drukāt
vērtība šajā vietā.
Pēc tam, kad esat iespiests visas vērtības rindā, tad jūs
var izdrukāt jaunu līniju.
Atcerieties, ka rīkojums par jūsu neizšķirtu funkcijai ir atbalss vai spogulis rīkojumu
Jūsu inicializēts funkciju.
>> Tagad, kad inicializēts kuģa un ka jūs esat sastādīts tā, ir pienācis laiks, lai ļautu
lietotājs rediģēt to un padarītu to kustas.
Tātad Fifteen.c funkciju, programma ņem informāciju no lietotāja un
Tad aicina kustību funkcijas, kas iet skaita flīžu ka
lietotājs vēlas, lai pārvietotos.
Tagad, jābūt uzmanīgiem.
Tas ir faktiskais flīžu un nevis tā faktisko stāvokli.
Tātad, jums ir nepieciešams meklēt flīžu Nostāju, zina, kur tas ir.
>> Tagad, jums vajadzētu ļaut tikai lietotājs , lai pārvietotos, ja tas ir likumīgi.
Juridiskais solis ir jebkurš flīzes, kas ir blakus tukšu flīzes.
Tas nozīmē, virs un zem, lai pa kreisi un pa labi.
Tātad, jums ir jāzina, kur tukšu flīzes ir labi.
Tagad par katru pārvietot jūs meklējat lietotājiem flīzes, bet tas ir iespējams
nav labākais, lai meklētu tukšu flīžu katru reizi, jo jūs darāt to
katru reizi, kad lietotājs vēlas, lai pārvietotos.
Tātad, tā vietā, tas ir labākais, atcerēties, kur tukšu flīzes, izmantojot kādu
labi nosaukts mainīgie.
Tātad, kad jūs ļauj lietotājam veikt savu pārceļas, viņi ir labi par to
veids, kā uzvarēt spēli piecpadsmit.
>> Lai uzvarētu spēli piecpadsmit, flīžu jābūt noteiktā secībā, kā
uzvarēja funkcija pārbauda, ​​vai Spēle ir uzvarēta.
Tā atgriež True, ja spēle ir uzvarēta, un flīzes ir pareizā secībā,
un False citādi.
Tātad, lai uzvarētu spēli piecpadsmit, flīzes jābūt pieaugošā secībā, ar
tukša flīžu apakšējā labajā stūrī.
Tātad, kā jūs pārbaudīt, vai lietotājs ir pārvietots kuģa uz labo
orientāciju?
>> Nu, jūs atkārtot virs klāja un pārbaudiet vērtības, lai pārliecinātos, ka
viņi ir īstajā vietā.
Lai to izdarītu, jūs varat izmantot ligzdotu cilpas tāpat kā jūs
kas izlozē un init.
Ir vairāki veidi, lai pārbaudītu un apstiprināt to, vai valde ir
pareiza un uzvarētāju veidošanos, though.
Ja jūs iet no kreisās uz labo, sākot no augšas uz leju rindas, tad katru
skaits ir lielāks nekā iepriekšējais.
Jābūt uzmanīgiem par to, ko vērtējam jūs esat izvēlēts, lai jūsu tukšo flīzes though.
>> Vai jūs varētu izmantot counter mainīgais nodrošina to, ka katra vērtība ir vietā, ja
jūs nākt klajā ar kaut kāda veida formula pārstāvēt šo.
Tātad ir jautri eksperimentēt ar matemātiku.
Tiklīdz jūs esat nākt klajā ar veidu, atgriešanās True, kad lietotājs ir uzvarējis spēli.
Bet, ja kāda vērtība ir nepareiza, atgriešanās Nepatiesa, lietotājam ir turpināt virzību
tāpēc, ka viņi nav uzvarējuši spēli.
Kad jūs īstenotu šo pārbaudi un kopā ar sāktu, zīmēt, un pārvietot,
Jūs esat pabeidzis spēli piecpadsmit.
Apsveicam un ir jautri spēlēt.
Mans vārds ir Zamyla un tas ir CS50.