>> ROB BOWDEN: Hej, jeg er Rob, og lad os hoppe ind i hacker udgave af Mario.
Så første ting, vi skal gøre, er får højden fra brugeren.
Her beder vi dem for en ikke-negativt heltal mindre end 24 og
vi bruger det CS50 GetInt funktionen at få fat i, at heltal fra brugeren.
Vi ser, vi er inde i en gør-while-løkke der vil fortsætte looping så længe
højde er større end 23 eller mindre end 0.
Og så vil vi fortsætte, indtil brugeren faktisk giver os, hvad vi ønsker.
>> Når vi har den højde, vi kommer til den vigtigste for-løkke af vores program.
Så lad os først se på et eksempel fra PSET spec.
Vi ser i dette eksempel, at når vi indtaste en højde på 4, den nederste række
først udskriver fire hashes, to rum, og fire flere hashes.
>> Så en række over, der udskriver en space tre hashes, to pladser til
adskille pyramiderne, og derefter yderligere tre hashes.
Og ovenstående, to rum, to hashes, to rum, to hashes.
Og endelig tre rum en hash, to rum én hash.
Så bør du begynde at lægge mærke til mønsteret her.
>> Lad os se på koden for, hvordan vi kommer til at gøre det.
Vi ser her, at vi iteration i alle rækker af pyramiden.
Først skal vi ønsker at beregne antallet af pladser.
Og husk, at vi er nødt til at starte på toppen af ​​pyramiden og arbejde vores
vej ned, da vi ikke kan udskrive bunden derefter en række op og
derefter en række op.
Så i toppen af ​​pyramiden, varsel at antallet af pladser er lig med
højde minus 1.
Vi kommer til at udskrive tre pladser, så en hash og derefter to pladser til
adskilt og anden hash.
>> Så rum er lig med højde minus række.
Hvis rækken er 1, og vores højde er 4, der vil give os 3 rum, som vi ønsker.
Så er dette for loop bare prints at antallet af pladser.
Hvis rum er tre, så vi kommer til at skabe et fælles rum tre gange.
>> Fortsætter, vi nu ønsker at udskrive den hashes på venstrefløjen pyramide, som er
bare lig med rækkenummeret.
Ser tilbage her, i rækken én, vi udskriver en hash.
I række to printe vi to, i række tre vi udskriver tre.
Så vi simpelthen loop række gange trykning hash symbol.
Så for alle rækker i pyramiden, vi udskrive præcis to mellemrum til at adskille
disse pyramider.
>> Og endelig ønsker vi at udskrive højre side af pyramiden, som er
igen det samme antal hashes som venstre side.
Og så det er nøjagtig de samme for loop som ovenfor her.
Endelig er vi nødt til at oprette en ny linje i For at gå videre til den næste række af
pyramiden og fortsætte udskrivningen.
Og det er det.
Mit navn er Rob og dette var Mario.