1 00:00:00,000 --> 00:00:13,010 2 00:00:13,010 --> 00:00:18,290 >> ROB BOWDEN: Hi, ek is Rob, en laat ons spring in die hacker uitgawe van Mario. 3 00:00:18,290 --> 00:00:21,760 So die eerste ding wat ons moet doen, is om kry die hoogte van die gebruiker. 4 00:00:21,760 --> 00:00:26,290 Hier is ons vra hulle vir 'n nie-negatiewe heelgetal minder as 24 en 5 00:00:26,290 --> 00:00:31,710 ons gebruik die CS50 getint funksie dat heelgetal te gryp van die gebruiker. 6 00:00:31,710 --> 00:00:35,260 Ons sien ons is binnekant van 'n do-while lus wat sal voortgaan om herhaling so lank as wat 7 00:00:35,260 --> 00:00:38,400 hoogte is groter as 23 of minder as 0. 8 00:00:38,400 --> 00:00:42,850 En so sal ons voortgaan totdat die gebruiker eintlik gee vir ons wat ons wil hê. 9 00:00:42,850 --> 00:00:46,960 >> Sodra ons daardie hoogte, ons kry om te die hoof vir lus van ons program. 10 00:00:46,960 --> 00:00:49,510 So laat ons kyk na 'n voorbeeld uit die pset spec. 11 00:00:49,510 --> 00:00:52,270 12 00:00:52,270 --> 00:00:56,940 Ons sien in hierdie voorbeeld dat wanneer ons Tik 'n hoogte van 4, die onderste ry 13 00:00:56,940 --> 00:01:01,520 eerste druk vier twee velde, twee ruimtes, en vier twee velde. 14 00:01:01,520 --> 00:01:06,280 >> Toe een ry bo die druk een ruimte drie allegaartjies, twee ruimtes 15 00:01:06,280 --> 00:01:09,690 skei die piramides, en dan nog drie twee velde. 16 00:01:09,690 --> 00:01:13,460 En behalwe dit, twee ruimtes, twee hashes, twee ruimtes, twee hashes. 17 00:01:13,460 --> 00:01:18,090 En uiteindelik, drie ruimtes een hash, twee ruimtes een hash. 18 00:01:18,090 --> 00:01:20,980 So moet jy begin om op te let die patroon hier. 19 00:01:20,980 --> 00:01:22,545 >> Kom ons kyk na die kode vir hoe ons gaan om dit te doen. 20 00:01:22,545 --> 00:01:25,290 21 00:01:25,290 --> 00:01:28,840 Ons sien hier dat ons iterating oor al die rye van die piramide. 22 00:01:28,840 --> 00:01:31,720 Eerste ons wil bereken die nommer van spasies. 23 00:01:31,720 --> 00:01:34,690 En onthou dat ons moet begin die top van die piramide en werk ons 24 00:01:34,690 --> 00:01:37,790 pad af omdat ons nie kan druk om die bodem dan een ry op en 25 00:01:37,790 --> 00:01:39,140 dan een ry op. 26 00:01:39,140 --> 00:01:44,030 So op die top van die piramide, kennisgewing dat die aantal spasies is gelyk aan 27 00:01:44,030 --> 00:01:45,720 hoogte minus 1. 28 00:01:45,720 --> 00:01:50,120 Ons gaan drie ruimtes te druk dan een hash en dan twee ruimtes 29 00:01:50,120 --> 00:01:53,350 afsonderlike en ander gemors. 30 00:01:53,350 --> 00:01:57,320 >> So ruimtes is gelyk aan hoogte minus ry. 31 00:01:57,320 --> 00:02:03,180 As die ry is 1 en ons hoogte is 4, wat gee ons 3 ruimtes, as ons wil hê. 32 00:02:03,180 --> 00:02:06,900 Dan is hierdie lus vir net afdrukke dat die getal van ruimtes. 33 00:02:06,900 --> 00:02:12,630 As ruimtes is drie, dan gaan ons skep 'n enkele spasie drie keer. 34 00:02:12,630 --> 00:02:18,750 >> Voort, nou wil ons te druk die hashes van die linker piramide, wat 35 00:02:18,750 --> 00:02:20,630 net gelyk aan die ry neer. 36 00:02:20,630 --> 00:02:23,250 Terugblik hier, in ry een, druk ons ​​een hash. 37 00:02:23,250 --> 00:02:25,960 In ry twee druk ons ​​twee, in ry drie druk ons ​​drie. 38 00:02:25,960 --> 00:02:30,440 Dus het ons net lus ry tye Druk hash simbool. 39 00:02:30,440 --> 00:02:34,830 Dan vir al die rye van die piramide, wat ons druk presies twee spasies te skei 40 00:02:34,830 --> 00:02:36,360 daardie piramides. 41 00:02:36,360 --> 00:02:39,590 >> En uiteindelik, ons wil die reg om te druk kant van die piramide, wat 42 00:02:39,590 --> 00:02:42,160 weer dieselfde aantal hashes as die linkerkant. 43 00:02:42,160 --> 00:02:45,680 En so is dit presies dieselfde lus soos hierbo hier. 44 00:02:45,680 --> 00:02:49,445 Ten slotte, moet ons 'n nuwe reël in te skep om aan te beweeg na die volgende ry 45 00:02:49,445 --> 00:02:51,690 die piramide en voortgaan om te druk. 46 00:02:51,690 --> 00:02:53,010 En dit is dit. 47 00:02:53,010 --> 00:02:54,860 My naam is Rob en dit was Mario. 48 00:02:54,860 --> 00:03:01,718