1 00:00:00,000 --> 00:00:09,386 2 00:00:09,386 --> 00:00:11,332 >> ZAMYLA Chan: Ejja jkollhom gost mal-Ħmistax. 3 00:00:11,332 --> 00:00:15,680 Ħmistax huwa l-ewwel logħba li inti tikseb biex jimplimentaw u huwa interattiv. 4 00:00:15,680 --> 00:00:16,410 Issa, ma tinkwetax. 5 00:00:16,410 --> 00:00:18,830 Inti ma għandekx li tikteb il- ħaġa sħiħa yourself. 6 00:00:18,830 --> 00:00:22,320 Ħares lejn il-kodiċi ta 'distribuzzjoni minħabba lott ta 'l-istruttura logħba hija diġà 7 00:00:22,320 --> 00:00:23,880 stabbilit għalik. 8 00:00:23,880 --> 00:00:28,160 Hija tammetti u parses linja kmand argument mill-utent u toħloq 9 00:00:28,160 --> 00:00:31,230 board bbażata fuq dik input. 10 00:00:31,230 --> 00:00:35,570 Tikkontrolla jekk il-logħba hija rebaħ u ħruġ ladarba l-utent tal rebaħ il-logħba. 11 00:00:35,570 --> 00:00:38,340 U biex tirbaħ il-logħba, jiġrilha input mill-utent u 12 00:00:38,340 --> 00:00:40,610 jitlob l-funzjoni Move. 13 00:00:40,610 --> 00:00:44,600 >> Allura aħna qed tmur biex tkun implimentazzjoni erba funzjonijiet għall-logħba tal-Ħmistax, 14 00:00:44,600 --> 00:00:48,110 Iniz, tfassal, jimxu, u rebaħ. 15 00:00:48,110 --> 00:00:50,340 Ewwelnett, ejja tindirizza Iniz. 16 00:00:50,340 --> 00:00:55,150 Fil Iniz, għall initialize, aħna nirrappreżentaw il-bord fil-firxa integer 2D. 17 00:00:55,150 --> 00:01:01,070 U dan huwa varjabbli globali msejħa board bil-qisien MAX, u MAX, 18 00:01:01,070 --> 00:01:03,880 d-dimensjonijiet massimi tal-bord. 19 00:01:03,880 --> 00:01:07,310 Issa, id-dimensjoni reali tal-bord jingħata mill-utent, rappreżentat 20 00:01:07,310 --> 00:01:10,620 n-numru sħiħ d, li jista ' ikun inqas minn MAX. 21 00:01:10,620 --> 00:01:14,660 Iżda, fil-C, inti tista 'ma resize arrays, hekk int mwaħħla ma 22 00:01:14,660 --> 00:01:16,730 li qies massimu. 23 00:01:16,730 --> 00:01:19,870 >> Xogħol tiegħek fil Iniz huwa li timla il-valuri tal-bord 24 00:01:19,870 --> 00:01:21,860 mal-valur korrett. 25 00:01:21,860 --> 00:01:26,910 Issa, Rajna arrays 1D, iżda kif do arrays 2D taħdem? 26 00:01:26,910 --> 00:01:30,985 Hemm indiċi tar-ringiela, żero indiċjati kif dejjem, u allura wkoll ta ' 27 00:01:30,985 --> 00:01:32,100 il-kolonna. 28 00:01:32,100 --> 00:01:36,120 U inti ser timla grid tiegħek fil- Valuri dixxendenti, biss bħal dan. 29 00:01:36,120 --> 00:01:43,260 Grid, 0, 0, ringiela 0, kolonna 0, huwa 8, grid 0, 1 huwa 7. 30 00:01:43,260 --> 00:01:48,500 Dan huwa għal eżempju fejn d, ftit d, huwa 3. 31 00:01:48,500 --> 00:01:52,690 >> Issa, il-bord fil-ħmistax għandhom ukoll fihom maduma vojt, jekk inti stajt qatt 32 00:01:52,690 --> 00:01:54,280 lagħbu l-logħba fiżika. 33 00:01:54,280 --> 00:01:59,210 Iżda, bord huwa firxa integer, hekk il-valuri kollha għandhom ikunu interi. 34 00:01:59,210 --> 00:02:06,950 Allura huwa sa inti tiddeċiedi integer valur li jirrappreżentaw maduma vojt. 35 00:02:06,950 --> 00:02:10,460 Initialize bord tiegħek, inti tista 'tuża strutturi loop li fihom l- 36 00:02:10,460 --> 00:02:16,440 istat tal-bidu tal-bord, fejn board i j tirrappreżenta l-element fil- 37 00:02:16,440 --> 00:02:19,380 i ringiela u l-kolonna j. 38 00:02:19,380 --> 00:02:23,035 Huma jibdew f'ordni dixxendenti u, ftakar li jekk in-numru ta 'madum 39 00:02:23,035 --> 00:02:29,590 hu fard, allura int se jkollhom tpartit l-post tat-2 u tal-1. 40 00:02:29,590 --> 00:02:33,790 Allura hemm, għandna tagħna board initialized. 41 00:02:33,790 --> 00:02:37,440 >> Issa, li konna initialized tagħna board, wasal iż-żmien biex jibnuha. 42 00:02:37,440 --> 00:02:41,260 Iġbed se print-istat attwali tal- bord, iżda inti għandek bżonn tagħmel ċert 43 00:02:41,260 --> 00:02:44,260 li jistampaw madum fl-istess ordni li ħadthom initialized minnhom. 44 00:02:44,260 --> 00:02:47,300 U inti wkoll bżonn li format numri tiegħek b'mod korrett. 45 00:02:47,300 --> 00:02:51,700 Għaliex aħna jista 'jkollhom ċifri wieħed u ċifri doppja, imbagħad inti tixtieq li 46 00:02:51,700 --> 00:02:54,540 print spazju vojt qabel kull numru ta 'ċifra singola. 47 00:02:54,540 --> 00:03:00,150 Tuża li bl-użu l placeholder -. 48 00:03:00,150 --> 00:03:02,550 >> Imma ftakar spazju vojt tagħna. 49 00:03:02,550 --> 00:03:05,970 Aħna ma rridux li jistampaw il-numru attwali li konna magħżula biex tirrappreżenta 50 00:03:05,970 --> 00:03:10,410 li l-ispazju vojt fil-bord, imma aħna wkoll ma jridux li jistampaw xejn. 51 00:03:10,410 --> 00:03:15,310 Allura dak li tista 'tagħmel huwa li jiddefinixxi simbolu jew karattru li jirrappreżentaw il- 52 00:03:15,310 --> 00:03:17,050 madum vojta. 53 00:03:17,050 --> 00:03:21,030 Fl-eżempji preċedenti stajt għażlet enfasizzati, u mbagħad inti biss print 54 00:03:21,030 --> 00:03:26,970 li kull meta inti tilħaq l-vojt ispazju fil-funzjoni tiġbed tiegħek. 55 00:03:26,970 --> 00:03:29,850 >> Allura tiġbed se jkunu nested għal-linji. 56 00:03:29,850 --> 00:03:31,150 Xi ħaġa bħal din. 57 00:03:31,150 --> 00:03:35,660 Għal kull ringiela, u mbagħad għal kull valur fil- il-filliera, int ser jistampaw il- 58 00:03:35,660 --> 00:03:36,940 valur f'dan l-ispazju. 59 00:03:36,940 --> 00:03:39,470 Ladarba inti stajt stampata il-valuri kollha fil-filliera, allura inti 60 00:03:39,470 --> 00:03:41,180 jistgħu jistampaw linja ġdida. 61 00:03:41,180 --> 00:03:47,730 Ftakar li l-ordni għall-tlug tiegħek funzjoni għandu eku jew jirriflettu l-ordni 62 00:03:47,730 --> 00:03:48,980 fil-funzjoni initialized tiegħek. 63 00:03:48,980 --> 00:03:51,290 64 00:03:51,290 --> 00:03:55,160 >> Issa li inti initialized-bord u li inti stajt mfassla dan, wasal iż-żmien biex let 65 00:03:55,160 --> 00:03:58,500 l-utent tbiddilha u jagħmlu tagħhom jiċċaqlaq. 66 00:03:58,500 --> 00:04:03,840 Allura fil-funzjoni Fifteen.c, il- programm jieħu input mill-utent u 67 00:04:03,840 --> 00:04:07,690 imbagħad jitlob il-funzjoni moviment, li jgħaddi fin-numru tal-maduma li l- 68 00:04:07,690 --> 00:04:09,270 utent irid li jiċċaqalqu. 69 00:04:09,270 --> 00:04:10,380 Issa, ikunu attenti. 70 00:04:10,380 --> 00:04:14,200 Dan huwa n-numru attwali tal-maduma u mhux il-pożizzjoni attwali tagħha. 71 00:04:14,200 --> 00:04:19,010 Allura, ikollok bzonn li jfittxu l-tal-madum pożizzjoni li tkun taf fejn hu. 72 00:04:19,010 --> 00:04:23,440 >> Issa, inti għandek biss jippermetti l-utent biex tagħmel pass jekk huwa legali. 73 00:04:23,440 --> 00:04:27,910 A pass legali hija kull maduma li huwa biswit il-maduma vojt. 74 00:04:27,910 --> 00:04:32,020 Dan ifisser, fuq u taħt, li ix-xellug u lejn il-lemin. 75 00:04:32,020 --> 00:04:34,680 Allura ikollok bzonn li tkun taf fejn il-maduma blank huwa ukoll. 76 00:04:34,680 --> 00:04:39,720 Issa, għal kull timxi int tiftix għal il-maduma utenti, iżda huwa probabbilment 77 00:04:39,720 --> 00:04:43,030 ma aħjar li jfittxu l-maduma blank kull darba għaliex inti qed tagħmel dan 78 00:04:43,030 --> 00:04:45,270 kull wieħed ħin il- utent irid li jiċċaqalqu. 79 00:04:45,270 --> 00:04:50,300 Għalhekk, minflok, huwa aħjar li tiftakar fejn il-maduma vojta qed tuża xi 80 00:04:50,300 --> 00:04:52,650 ukoll jismu varjabbli. 81 00:04:52,650 --> 00:04:55,970 Allura ladarba inti jippermettu lill-utent biex jagħmlu tagħhom jiċċaqlaq, huma ukoll fuq tagħhom 82 00:04:55,970 --> 00:04:59,700 mod biex tirbaħ il-logħba tal-Ħmistax. 83 00:04:59,700 --> 00:05:03,940 >> Biex tirbaħ il-logħba tal-Ħmistax, il-madum għandhom ikunu fl-ordni speċifika, u 84 00:05:03,940 --> 00:05:06,970 il-funzjoni rebaħ jiċċekja il-logħba hija rebaħ. 85 00:05:06,970 --> 00:05:10,290 Dan jirritorna Veru jekk il-logħba hija rebaħ u l-madum huma fl-ordni korretta, 86 00:05:10,290 --> 00:05:12,210 u Foloz mod ieħor. 87 00:05:12,210 --> 00:05:15,830 Allura biex tirbaħ il-logħba tal-Ħmistax, madum għandhom ikunu f'ordni li tiżdied, bil- 88 00:05:15,830 --> 00:05:19,230 madum vojta lejn il-rokna t'isfel dritt. 89 00:05:19,230 --> 00:05:23,630 Allura kif taħseb li tivverifika jekk l-utent mxiet il-bord fis-dritt 90 00:05:23,630 --> 00:05:25,010 orjentazzjoni? 91 00:05:25,010 --> 00:05:29,200 >> Well, inti ser jtenni fuq il-bord u jivverifika l-valuri biex tiżgura li 92 00:05:29,200 --> 00:05:30,550 dawn qed fil-post dritt. 93 00:05:30,550 --> 00:05:33,910 Biex tagħmel dan, inti tista 'tuża nested għal-linji bħad għamilt 94 00:05:33,910 --> 00:05:36,520 fil tiġbed u Iniz. 95 00:05:36,520 --> 00:05:40,430 Hemm ftit ta 'modi biex jiċċekkjaw u jivvalidaw jekk il-bord huwa 96 00:05:40,430 --> 00:05:42,860 korretta u rebbieħa formazzjoni, għalkemm. 97 00:05:42,860 --> 00:05:47,330 Jekk inti tmur mix-xellug għal-lemin, li jibda mill-ringiela top down, allura kull 98 00:05:47,330 --> 00:05:50,590 numru għandha tkun ikbar minn qabilha. 99 00:05:50,590 --> 00:05:54,530 Ikunu attenti dwar dak li inti valur stajt magħżula għall-madum vojta tiegħek għalkemm. 100 00:05:54,530 --> 00:05:59,250 >> Jew inti tista 'tuża varjabbli kontra jiżgura li kull valur huwa fis-seħħ, jekk 101 00:05:59,250 --> 00:06:03,660 inti toħroġ bi xi tip ta ' formula li jirrappreżenta dan. 102 00:06:03,660 --> 00:06:06,250 Allura tieħdu gost jesperimentaw mal-matematika. 103 00:06:06,250 --> 00:06:10,930 Ladarba inti stajt toħroġ bi mod, ir-ritorn Veru ladarba l-utent ikun rebaħ il-logħba. 104 00:06:10,930 --> 00:06:15,950 Imma jekk xi valur hija żbaljata, ir-ritorn Falza, l-utent għandu tkompli miexja ' 105 00:06:15,950 --> 00:06:18,440 minħabba li ma jkunux rebħu l-logħba. 106 00:06:18,440 --> 00:06:23,030 Ladarba inti jimplimentaw dan il-kontroll u, flimkien ma initialize, tfassal, u jimxu, 107 00:06:23,030 --> 00:06:25,110 inti stajt lest il-logħba tal-Ħmistax. 108 00:06:25,110 --> 00:06:27,620 Prosit u jkollhom playing gost. 109 00:06:27,620 --> 00:06:30,600 Jisimni Zamyla u dan huwa CS50. 110 00:06:30,600 --> 00:06:37,632