>> ROB BOWDEN: Ahoj, ja som Rob, a poďme skočiť do hacker vydania Mario.
Takže prvá vec, ktorú musíme urobiť, je si výšku od užívateľa.
Tu sme im so žiadosťou o non-záporné celé číslo menšie ako 24, a
sme pomocou funkcie CS50 vezmi_int chytiť, že celé číslo od užívateľa.
Vidíme, že sme vo vnútri do-while , Že bude pokračovať tak dlho, kým opakovanie
výška je väčšia ako 23 alebo menšia ako 0.
A tak budeme pokračovať, kým používateľ vlastne nám dáva to, čo chceme.
>> Akonáhle budeme mať tú výšku, dostaneme sa Hlavný cyklus for nášho programu.
Takže poďme sa pozrieť na prvý príklad od pset spec.
Vidíme v tomto príklade, že keď sme zadajte výšku 4, dolný riadok
Prvý vytlačí štyri hashe, dva priestory, a ďalšie štyri hash.
>> Potom jeden riadok vyššie, ktorá tlačí jeden priestor tri krížiky dve medzery na
oddeliť pyramídy, a potom ďalšie tri hash.
A predovšetkým to, že dva priestory, dva hashe, dva priestory, dva hashe.
A konečne, tri priestory jedno hash, dva priestory jeden hash.
Takže by ste mali začať všímať vzor tu.
>> Poďme sa pozrieť na kód, ako budeme robiť, že.
Vidíme tu, že sme iterácie cez všetky riadky pyramídy.
Najprv chceme vypočítať počet medzier.
A nezabudnite, že musíme začať u vrchol pyramídy a práce našich
smerom dole, pretože nemôžeme tlačiť Spodný potom jeden riadok nahor a
potom jeden riadok nahor.
Takže na vrchole pyramídy, oznámenia , Že počet miest je rovný
výška mínus 1.
Ideme k tlači tri medzery, jeden hash a potom dve medzery na
oddelené a ďalšie hash.
>> Takže priestory sa rovná výška mínus riadok.
Ak je riadok 1 a náš výška je 4, že budeme mať tri medzery, ako chceme.
Potom je táto pre slučku výtlačky , Že počet miest.
Je-li priestor je tri, potom budeme vytvoriť jednu medzeru trikrát.
>> Pokračovanie, teraz chceme vytlačiť hash ľavej pyramídy, ktorá je
práve rovný počtu riadkov.
Pri pohľade späť, v rade jeden, tlačíme jeden hash.
V druhom rade sa vytlačiť dve, v riadok tri tlačíme tri.
Takže sme jednoducho slučka časy riadok tlač hash symbol.
Potom pre všetky riadky pyramídy, sme vytlačiť presne dva priestory pre oddelenie
tie pyramídy.
>> A konečne, chceme vytlačiť právo strane pyramídy, ktorá je
opäť rovnaký počet hash ako na ľavej strane.
A tak je to rovnaké presný pre slučku ako je uvedené vyššie tu.
A konečne, musíme vytvoriť novú linku na aby sa presunúť na ďalší riadok
pyramídy a pokračovať v tlači.
A to je všetko.
Volám sa Rob a to bol Mario.