>> ZAMYLA CHAN: Lad os have det sjovt med 15..
15 er det første spil, du kommer til at gennemføre.
Og det er interaktivt.
Nu, ikke at bekymre sig.
Du behøver ikke at skrive hele selv.
>> Kig på fordelingen kode.
Fordi en masse af spillet struktur er allerede sat op for dig.
Det accepterer og analyserer en kommandolinje argument fra brugeren, og skaber en
board baseret på denne indgang.
>> Det tjekker, om spillet er vundet, og udgange når brugerens vandt spillet.
Og for at vinde spillet, får det input fra brugeren og
kalder flytte funktionen.
Så vi kommer til at gennemføre fire funktioner til spillet 15 -
init, tegne, flytte og vandt.
>> Først, lad os tackle init.
I init for Initialiser, repræsenterer vi bestyrelsen i en 2D-heltal array.
Og dette er en global variabel kaldet bord med dimensioner max og Max,
maksimale dimensioner af bestyrelsen.
Nu er den faktiske dimension af bestyrelsen er givet af brugeren, er repræsenteret i
heltal d, som kunne være mindre end ca.
Men i C, kan du ikke ændre størrelsen på arrays.
Så du sidder fast med det maksimal dimension.
>> Dit job i init er at befolke værdierne af bestyrelsen
med de korrekte værdier.
Nu har vi set 1D arrays.
Men hvordan 2D arrays virker?
Der er et indeks af rækken, 0-indekset, som altid, og
derefter også af søjlen.
>> Og du vil fylde din nettet i i faldende værdier, ligesom dette.
Grid 0, 0, række 0, kolonne 0, er 8.
Grid 0, 1 er 7.
Dette er et eksempel, hvor d, lille d, er 3..
Nu skal bestyrelsen i 15 også indeholde en tom flise, hvis du nogensinde har spillet
med fysisk spil.
>> Men bestyrelsen er et heltal array.
Så alle værdier skal være heltal.
Så det er op til dig at bestemme et heltal værdi til at repræsentere en tom flise.
>> Sådan initialiserer dit bord, kan du bruge løkke-strukturer på at inddæmme
start tilstand af bestyrelsen, hvor bestyrelsen i, j repræsenterer grundstof
række i og søjle j.
De starter i faldende rækkefølge.
Og husk, at hvis antallet af fliser er ulige, så du kommer til at
nødt til at skifte placering 2 og 1..
Så der har vi vores initialiseret bord.