ROB BOWDEN: Hi, Im 'Rob, a gadewch i ni neidio i mewn i'r rhifyn haciwr o Mario. Beth felly yn gyntaf mae angen i ni ei wneud yw cael y uchder gan y defnyddiwr. Yma rydym yn gofyn iddynt am cyfanrif heb fod yn negyddol llai na 24 a rydym yn defnyddio swyddogaeth CS50 GetInt i fanteisio ar y cyfanrif gan y defnyddiwr. Rydym yn gweld ein bod tu mewn dolen do-tra a fydd yn parhau dolennu cyhyd ag y uchder yn fwy na 23 neu lai na 0. Ac felly byddwn yn parhau nes bod y defnyddiwr mewn gwirionedd yn rhoi i ni yr hyn yr ydym ei eisiau. Unwaith y byddwn wedi bod uchder, rydym yn cael bennaf ar gyfer ddolen ein rhaglen. Felly, gadewch i ni edrych yn gyntaf ar enghraifft gan y fanyleb pset. Rydym yn gweld yn yr enghraifft hon, pan fyddwn yn fynd i mewn i uchder o 4, y rhes gwaelod gyntaf yn argraffu pedwar hashes, dau le, a phedwar yn fwy hashes. Yna, un rhes uchod y printiau un gofod tri hashes, dau le i wahanu'r pyramidiau, ac Yna, tri yn fwy hashes. Ac yn fwy na hynny, dau le, dau hashes, dau le, dau hashes. Ac yn olaf, tri lle un hash, dau le un hash. Felly, dylech ddechrau i hysbysiad y patrwm yma. Gadewch i ni edrych ar y cod ar gyfer sut y rydym yn mynd i wneud hynny. Rydym yn gweld yma ein bod yn bwysleisio'r dros yr holl rhesi o'r pyramid. Yn gyntaf rydym am i gyfrifo y nifer o lefydd. A chofiwch ein bod yn rhaid i ni ddechrau ar frig y pyramid ac yn gweithio ein ffordd i lawr gan na allwn argraffu'r gwaelod yna un rhes i fyny ac Yna, un rhes i fyny. Felly, ar frig y pyramid, rhybudd bod nifer y lleoedd yn hafal i uchder minws 1. Rydym yn mynd i argraffu tri lle, yna un hash ac yna dau le i ar wahân a hash arall. Felly lleoedd yn hafal i rhes minws uchder. Os yw'r rhes yn 1 ac mae ein uchder yw 4, bydd hynny'n rhoi 3 lle i ni, gan ein bod eisiau. Yna mae hyn ar gyfer dolen yn unig printiau bod nifer o fannau. Os mannau yw tri, yna rydym yn mynd i greu gofod sengl dair gwaith. Parhaus, yn awr rydym yn awyddus i argraffu'r hashes y pyramid chwith, sydd yn dim ond hafal i nifer rhes. Wrth edrych yn ôl yma, yn rhes un, rydym yn argraffu un hash. Mewn rhes dau rydym yn argraffu dau, yn rhes tri rydym yn argraffu tri. Amseroedd olynol, felly rydym yn syml dolen symbol hash argraffu. Yna, ar gyfer pob rhes y pyramid, rydym yn argraffu yn union dau le i wahanu pyramidiau hynny. Ac yn olaf, rydym am i argraffu'r hawl ochr y pyramid, sy'n eto yr un nifer o hashes fel yr ochr chwith. Ac felly mae'n yr un fath yn union ar gyfer ddolen fel uchod yma. Yn olaf, mae angen i greu llinell newydd yn er mwyn symud ymlaen i'r rhes nesaf y pyramid ac yn parhau argraffu. A dyna ni. Fy enw i yw Rob ac roedd hyn yn Mario.