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.