>> ZAMYLA Chan: Ejja jkollhom gost mal-Ħmistax.
Ħmistax huwa l-ewwel logħba li inti tikseb biex jimplimentaw u huwa interattiv.
Issa, ma tinkwetax.
Inti ma għandekx li tikteb il- ħaġa sħiħa yourself.
Ħares lejn il-kodiċi ta 'distribuzzjoni minħabba lott ta 'l-istruttura logħba hija diġà
stabbilit għalik.
Hija tammetti u parses linja kmand argument mill-utent u toħloq
board bbażata fuq dik input.
Tikkontrolla jekk il-logħba hija rebaħ u ħruġ ladarba l-utent tal rebaħ il-logħba.
U biex tirbaħ il-logħba, jiġrilha input mill-utent u
jitlob l-funzjoni Move.
>> Allura aħna qed tmur biex tkun implimentazzjoni erba funzjonijiet għall-logħba tal-Ħmistax,
Iniz, tfassal, jimxu, u rebaħ.
Ewwelnett, ejja tindirizza Iniz.
Fil Iniz, għall initialize, aħna nirrappreżentaw il-bord fil-firxa integer 2D.
U dan huwa varjabbli globali msejħa board bil-qisien MAX, u MAX,
d-dimensjonijiet massimi tal-bord.
Issa, id-dimensjoni reali tal-bord jingħata mill-utent, rappreżentat
n-numru sħiħ d, li jista ' ikun inqas minn MAX.
Iżda, fil-C, inti tista 'ma resize arrays, hekk int mwaħħla ma
li qies massimu.
>> Xogħol tiegħek fil Iniz huwa li timla il-valuri tal-bord
mal-valur korrett.
Issa, Rajna arrays 1D, iżda kif do arrays 2D taħdem?
Hemm indiċi tar-ringiela, żero indiċjati kif dejjem, u allura wkoll ta '
il-kolonna.
U inti ser timla grid tiegħek fil- Valuri dixxendenti, biss bħal dan.
Grid, 0, 0, ringiela 0, kolonna 0, huwa 8, grid 0, 1 huwa 7.
Dan huwa għal eżempju fejn d, ftit d, huwa 3.
>> Issa, il-bord fil-ħmistax għandhom ukoll fihom maduma vojt, jekk inti stajt qatt
lagħbu l-logħba fiżika.
Iżda, bord huwa firxa integer, hekk il-valuri kollha għandhom ikunu interi.
Allura huwa sa inti tiddeċiedi integer valur li jirrappreżentaw maduma vojt.
Initialize bord tiegħek, inti tista 'tuża strutturi loop li fihom l-
istat tal-bidu tal-bord, fejn board i j tirrappreżenta l-element fil-
i ringiela u l-kolonna j.
Huma jibdew f'ordni dixxendenti u, ftakar li jekk in-numru ta 'madum
hu fard, allura int se jkollhom tpartit l-post tat-2 u tal-1.
Allura hemm, għandna tagħna board initialized.
>> Issa, li konna initialized tagħna board, wasal iż-żmien biex jibnuha.
Iġbed se print-istat attwali tal- bord, iżda inti għandek bżonn tagħmel ċert
li jistampaw madum fl-istess ordni li ħadthom initialized minnhom.
U inti wkoll bżonn li format numri tiegħek b'mod korrett.
Għaliex aħna jista 'jkollhom ċifri wieħed u ċifri doppja, imbagħad inti tixtieq li
print spazju vojt qabel kull numru ta 'ċifra singola.
Tuża li bl-użu l placeholder -.
>> Imma ftakar spazju vojt tagħna.
Aħna ma rridux li jistampaw il-numru attwali li konna magħżula biex tirrappreżenta
li l-ispazju vojt fil-bord, imma aħna wkoll ma jridux li jistampaw xejn.
Allura dak li tista 'tagħmel huwa li jiddefinixxi simbolu jew karattru li jirrappreżentaw il-
madum vojta.
Fl-eżempji preċedenti stajt għażlet enfasizzati, u mbagħad inti biss print
li kull meta inti tilħaq l-vojt ispazju fil-funzjoni tiġbed tiegħek.
>> Allura tiġbed se jkunu nested għal-linji.
Xi ħaġa bħal din.
Għal kull ringiela, u mbagħad għal kull valur fil- il-filliera, int ser jistampaw il-
valur f'dan l-ispazju.
Ladarba inti stajt stampata il-valuri kollha fil-filliera, allura inti
jistgħu jistampaw linja ġdida.
Ftakar li l-ordni għall-tlug tiegħek funzjoni għandu eku jew jirriflettu l-ordni
fil-funzjoni initialized tiegħek.
>> Issa li inti initialized-bord u li inti stajt mfassla dan, wasal iż-żmien biex let
l-utent tbiddilha u jagħmlu tagħhom jiċċaqlaq.
Allura fil-funzjoni Fifteen.c, il- programm jieħu input mill-utent u
imbagħad jitlob il-funzjoni moviment, li jgħaddi fin-numru tal-maduma li l-
utent irid li jiċċaqalqu.
Issa, ikunu attenti.
Dan huwa n-numru attwali tal-maduma u mhux il-pożizzjoni attwali tagħha.
Allura, ikollok bzonn li jfittxu l-tal-madum pożizzjoni li tkun taf fejn hu.
>> Issa, inti għandek biss jippermetti l-utent biex tagħmel pass jekk huwa legali.
A pass legali hija kull maduma li huwa biswit il-maduma vojt.
Dan ifisser, fuq u taħt, li ix-xellug u lejn il-lemin.
Allura ikollok bzonn li tkun taf fejn il-maduma blank huwa ukoll.
Issa, għal kull timxi int tiftix għal il-maduma utenti, iżda huwa probabbilment
ma aħjar li jfittxu l-maduma blank kull darba għaliex inti qed tagħmel dan
kull wieħed ħin il- utent irid li jiċċaqalqu.
Għalhekk, minflok, huwa aħjar li tiftakar fejn il-maduma vojta qed tuża xi
ukoll jismu varjabbli.
Allura ladarba inti jippermettu lill-utent biex jagħmlu tagħhom jiċċaqlaq, huma ukoll fuq tagħhom
mod biex tirbaħ il-logħba tal-Ħmistax.
>> Biex tirbaħ il-logħba tal-Ħmistax, il-madum għandhom ikunu fl-ordni speċifika, u
il-funzjoni rebaħ jiċċekja il-logħba hija rebaħ.
Dan jirritorna Veru jekk il-logħba hija rebaħ u l-madum huma fl-ordni korretta,
u Foloz mod ieħor.
Allura biex tirbaħ il-logħba tal-Ħmistax, madum għandhom ikunu f'ordni li tiżdied, bil-
madum vojta lejn il-rokna t'isfel dritt.
Allura kif taħseb li tivverifika jekk l-utent mxiet il-bord fis-dritt
orjentazzjoni?
>> Well, inti ser jtenni fuq il-bord u jivverifika l-valuri biex tiżgura li
dawn qed fil-post dritt.
Biex tagħmel dan, inti tista 'tuża nested għal-linji bħad għamilt
fil tiġbed u Iniz.
Hemm ftit ta 'modi biex jiċċekkjaw u jivvalidaw jekk il-bord huwa
korretta u rebbieħa formazzjoni, għalkemm.
Jekk inti tmur mix-xellug għal-lemin, li jibda mill-ringiela top down, allura kull
numru għandha tkun ikbar minn qabilha.
Ikunu attenti dwar dak li inti valur stajt magħżula għall-madum vojta tiegħek għalkemm.
>> Jew inti tista 'tuża varjabbli kontra jiżgura li kull valur huwa fis-seħħ, jekk
inti toħroġ bi xi tip ta ' formula li jirrappreżenta dan.
Allura tieħdu gost jesperimentaw mal-matematika.
Ladarba inti stajt toħroġ bi mod, ir-ritorn Veru ladarba l-utent ikun rebaħ il-logħba.
Imma jekk xi valur hija żbaljata, ir-ritorn Falza, l-utent għandu tkompli miexja '
minħabba li ma jkunux rebħu l-logħba.
Ladarba inti jimplimentaw dan il-kontroll u, flimkien ma initialize, tfassal, u jimxu,
inti stajt lest il-logħba tal-Ħmistax.
Prosit u jkollhom playing gost.
Jisimni Zamyla u dan huwa CS50.