ROB BOWDEN: Прывітанне, я Роб, і давайце пяройдзем у хакерскай выдання Марыё. Так першае, што мы павінны зрабіць, атрымаць вышыню ад карыстальніка. Тут мы просім іх для неадмоўнае цэлы лік, меншае 24 і мы выкарыстоўваем функцыю CS50 GetInt каб захапіць, што цэлы лік ад карыстальніка. Мы бачым, што мы ўнутры зрабі час цыклу што будзе працягваць цыкл тых часоў, пакуль вышыня больш, чым 23 або менш 0. І таму мы не будзем працягваць, пакуль карыстальнік на самай справе дае нам тое, што мы хочам. Як толькі мы атрымаем гэтую вышыню, мы пяройдзем да у асноўны цыкл нашай праграмы. Так што давайце спачатку паглядзім на прыкладзе ад PSet спец. Мы бачым, што ў гэтым прыкладзе, калі мы увядзіце вышыню 4, ніжні шэраг Першы друкуе чатыры хэшы, два прабелы, і яшчэ чатыры хэшы. Тады адзін шэраг вышэй, які друкуе адзін касмічныя тры хэшы, два прасторы да аддзяліць на піраміды, затым яшчэ тры хэшы. І галоўнае, што два прасторы, два хэшаў, два прасторы, два хэшаў. І, нарэшце, тры прасторы адзін хэш, два прасторы адной хэш. Такім чынам, вы павінны пачаць заўважаць карціна тут. Давайце паглядзім на код для таго, як мы збіраемся зрабіць гэта. Мы бачым тут, што мы ітэрацыі над усімі радамі піраміды. Спачатку мы хочам вылічыць колькасць прабелаў. І памятайце, што мы павінны пачаць у вяршыня піраміды і будзем шлях уніз, так як мы не можам надрукаваць Ніжняя затым адзін шэраг і затым адзін шэраг да. Такім чынам, у верхняй частцы піраміды, паведамлення што колькасць прастор роўная вышыня мінус 1. Мы збіраемся надрукаваць тры месцы, то адзін хэш, а затым два прасторы ў асобны, а другі хэш. Так прасторы роўная вышыня мінус радок. Калі радок 1, і наш вышыня роўная 4, што дасць нам 3 месцы, як мы хочам. Тады гэта для завес за ўсё адбіткаў што колькасць прабелаў. Калі прасторы ў тры, то мы збіраемся стварыць адзіную прастору ў тры разы. Працягваючы, зараз мы хочам, каб раздрукаваць хэш левага піраміды, якая проста роўна ліку радкоў. Азіраючыся назад тут, у радку адзін, мы друкуем на адзін хэш. У радку два мы друкуем два, у шэраг тры мы друкуем тры. Такім чынам, мы проста цыкл раз шэраг друк сімвал хэш. Тады для ўсіх радкоў піраміды, мы друкаваць роўна два прабел для падзелу гэтыя піраміды. І, нарэшце, мы хочам надрукаваць права баку піраміды, якая зноў тое ж самае колькасць модуляў як з левага боку. І такім чынам, гэта тая ж самая дакладная цыкл, як паказана вышэй тут. Нарэшце, мы павінны стварыць новы радок у для таго, каб перайсці да наступнай радку піраміда і працягнуць друк. І гэта ўсё. Мяне клічуць Боб і гэта быў Марыё.