1 00:00:00,000 --> 00:00:13,010 2 00:00:13,010 --> 00:00:18,290 >> ROB BOWDEN: Hoi, ik ben Rob, en laten we springen in de hacker editie van Mario. 3 00:00:18,290 --> 00:00:21,760 Dus eerste wat we moeten doen is krijgen de hoogte van de gebruiker. 4 00:00:21,760 --> 00:00:26,290 Hier gaan we ze vragen om een niet-negatief geheel getal kleiner dan 24 en 5 00:00:26,290 --> 00:00:31,710 we gebruiken de CS50 getInt functie dat integer grijpen van de gebruiker. 6 00:00:31,710 --> 00:00:35,260 We we binnenin doe-while dat zal lus zolang 7 00:00:35,260 --> 00:00:38,400 hoogte groter is dan 23 of kleiner dan 0. 8 00:00:38,400 --> 00:00:42,850 En zo gaan we door tot de gebruiker eigenlijk geeft ons wat we willen. 9 00:00:42,850 --> 00:00:46,960 >> Zodra we die hoogte, krijgen we te de belangrijkste voor de lus van ons programma. 10 00:00:46,960 --> 00:00:49,510 Dus laten we eerst eens kijken naar een voorbeeld van de PSET spec. 11 00:00:49,510 --> 00:00:52,270 12 00:00:52,270 --> 00:00:56,940 We zien in dit voorbeeld dat als we voer een hoogte van 4, de onderste rij 13 00:00:56,940 --> 00:01:01,520 Eerst drukt vier hashes, twee ruimtes, en vier meer hashes. 14 00:01:01,520 --> 00:01:06,280 >> Toen, op een rij boven dat drukt een ruimte drie hashes, twee spaties om 15 00:01:06,280 --> 00:01:09,690 scheiden de piramides, en toen drie meer hashes. 16 00:01:09,690 --> 00:01:13,460 En boven dat, twee ruimtes, twee hashes, twee ruimten, twee hashes. 17 00:01:13,460 --> 00:01:18,090 Tenslotte drie ruimten een hash, twee ruimten een hash. 18 00:01:18,090 --> 00:01:20,980 Dus je moet beginnen te merken het patroon hier. 19 00:01:20,980 --> 00:01:22,545 >> Laten we eens kijken naar de code voor de manier waarop gaan we dat doen. 20 00:01:22,545 --> 00:01:25,290 21 00:01:25,290 --> 00:01:28,840 We zien hier dat we itereren over alle rijen van de piramide. 22 00:01:28,840 --> 00:01:31,720 Eerst willen we berekenen het aantal spaties. 23 00:01:31,720 --> 00:01:34,690 En vergeet niet dat we moeten beginnen bij de top van de piramide en werken ons 24 00:01:34,690 --> 00:01:37,790 weg naar beneden, omdat we niet kunnen afdrukken van de onderste dan een rij omhoog en 25 00:01:37,790 --> 00:01:39,140 dan een rij omhoog. 26 00:01:39,140 --> 00:01:44,030 Dus op de top van de piramide, bericht dat het aantal plaatsen is gelijk aan 27 00:01:44,030 --> 00:01:45,720 hoogte minus 1. 28 00:01:45,720 --> 00:01:50,120 We gaan drie ruimtes af te drukken dan een hash en vervolgens twee spaties om 29 00:01:50,120 --> 00:01:53,350 afzonderlijke en andere hash. 30 00:01:53,350 --> 00:01:57,320 >> Zo zijn gelijk aan hoogte minus rij. 31 00:01:57,320 --> 00:02:03,180 Als de rij is 1 en onze hoogte is 4, dat zal ons 3 ruimtes, zoals wij willen. 32 00:02:03,180 --> 00:02:06,900 Dan is dit voor loop gewoon prints dat aantal spaties. 33 00:02:06,900 --> 00:02:12,630 Als ruimten is drie, dan gaan we maak een enkele spatie drie keer. 34 00:02:12,630 --> 00:02:18,750 >> Verder te gaan, nu willen we afdrukken van de hashes van de linker piramide, die 35 00:02:18,750 --> 00:02:20,630 gewoon gelijk aan het rijnummer. 36 00:02:20,630 --> 00:02:23,250 Terugkijkend hier, in rij een afdruk van een hash. 37 00:02:23,250 --> 00:02:25,960 In rij twee drukken we twee, in rij drie drie afdruk. 38 00:02:25,960 --> 00:02:30,440 Dus we gewoon lus rij tijden afdrukken hekje. 39 00:02:30,440 --> 00:02:34,830 Dan voor alle rijen van de piramide, we afdrukken precies twee ruimtes te scheiden 40 00:02:34,830 --> 00:02:36,360 die piramides. 41 00:02:36,360 --> 00:02:39,590 >> En tot slot willen we rechts af te drukken zijde van de piramide, die 42 00:02:39,590 --> 00:02:42,160 weer hetzelfde aantal hashes als de linkerkant. 43 00:02:42,160 --> 00:02:45,680 En dus is het exact dezelfde lus zoals hierboven hier. 44 00:02:45,680 --> 00:02:49,445 Tot slot moeten we een nieuwe regel te maken in Om verder te gaan naar de volgende rij 45 00:02:49,445 --> 00:02:51,690 de piramide en ga verder met afdrukken. 46 00:02:51,690 --> 00:02:53,010 En dat is het. 47 00:02:53,010 --> 00:02:54,860 Mijn naam is Rob en dit was Mario. 48 00:02:54,860 --> 00:03:01,718