>> ROB BOWDEN: Hei, jeg er Rob, og la oss hoppe inn i hacker-utgaven av Mario.
Så det første vi må gjøre er få høyden fra brukeren.
Her ber vi dem for en ikke-negative heltall mindre enn 24 og
vi bruker den CS50 GetInt funksjon å hente den heltall fra brukeren.
Vi ser vi er inne i en do-while-loop som vil fortsette sløyfe så lenge
høyde er større enn 23 eller mindre enn 0.
Og så vil vi fortsette inntil brukeren faktisk gir oss det vi ønsker.
>> Når vi har den høyden, får vi til det viktigste for løkke av vårt program.
Så la oss først se på et eksempel fra PSett spec.
Vi ser i dette eksemplet at når vi angi en høyde på fire, den nederste raden
først skriver ut fire hashes, to områder, og fire mer hashes.
>> Så en rad over som skriver ut en plass tre hashes, to plasser til
skille pyramidene, og deretter tre mer hashes.
Og over det, to plasser, to hashes, to plasser, to hashes.
Og til slutt, tre plasser en hasj, to plasser en hash.
Så du bør begynne å legge merke til mønsteret her.
>> La oss se på koden for hvordan vi kommer til å gjøre det.
Vi ser her at vi gjentar fremfor alle radene i pyramiden.
Først ønsker vi å beregne antall mellomrom.
Og husk at vi må starte på toppen av pyramiden og jobber oss
veien ned siden vi ikke kan skrive ut bunnen deretter én rad opp og
deretter én rad opp.
Så på toppen av pyramiden, varsel at antall plasser er lik
høyde minus en.
Vi kommer til å skrive ut tre plasser deretter en hash og deretter to plasser til
separat og en annen hash.
>> Så mellomrom er lik høyde minus rad.
Hvis raden er en og vår høyde er 4, som vil gi oss tre områder, som vi ønsker.
Da er dette for løkke bare utskrifter at antall plasser.
Hvis plasser er tre, så vi kommer til å skape en eneste plass tre ganger.
>> Fortsetter, nå vi ønsker å skrive ut hashverdiene venstre pyramide, som er
bare lik radnummer.
Ser tilbake her, i rad ett, vi skriver ut en hash.
I rad to skriver vi to, i rad tre vi ut tre.
Så vi bare sløyfe rad ganger utskrift hash symbol.
Så for alle radene i pyramiden, vi skrive ut nøyaktig to mellomrom for å skille
disse pyramidene.
>> Og til slutt, vi ønsker å skrive ut riktig side av pyramiden, som ligger
igjen samme antall hashes som venstre side.
Og så er det de samme for loop som ovenfor her.
Til slutt, må vi lage en ny linje i For å gå videre til neste rad med
pyramiden og fortsette utskriften.
Og det er det.
Mitt navn er Rob, og dette var Mario.