1 00:00:00,000 --> 00:00:13,010 2 00:00:13,010 --> 00:00:18,290 >> ROB BOWDEN: Bună, eu sunt Rob, și să sară în hacker-a ediție a Mario. 3 00:00:18,290 --> 00:00:21,760 Deci, primul lucru pe care trebuie să faceți este să obține înălțimea de la utilizator. 4 00:00:21,760 --> 00:00:26,290 Aici suntem le cere pentru o număr întreg nenegativ mai puțin de 24 și 5 00:00:26,290 --> 00:00:31,710 suntem folosind funcția de CS50 getint a apuca ca întreg de la utilizator. 6 00:00:31,710 --> 00:00:35,260 Noi vedem că suntem în interiorul unei bucle do-în timp ce care va continua atât timp cât buclarea 7 00:00:35,260 --> 00:00:38,400 înălțimea este mai mare decât 23 sau mai mic de 0. 8 00:00:38,400 --> 00:00:42,850 Și astfel vom continua până când utilizatorul de fapt ne dă ceea ce ne dorim. 9 00:00:42,850 --> 00:00:46,960 >> După ce vom avea această înălțime, ajungem la principal pentru bucla de programul nostru. 10 00:00:46,960 --> 00:00:49,510 Prima uita asa ca hai sa la un exemplu de la spec. PSET. 11 00:00:49,510 --> 00:00:52,270 12 00:00:52,270 --> 00:00:56,940 Vedem în acest exemplu că atunci când ne-am introduce o înălțime de 4, rândul de jos 13 00:00:56,940 --> 00:01:01,520 imprimă prima patru hash-uri, două spații, și patru mai hash-uri. 14 00:01:01,520 --> 00:01:06,280 >> Apoi un rând de mai sus care imprimă un spațiu trei hash, două spații pentru 15 00:01:06,280 --> 00:01:09,690 separa piramide, și apoi trei mai multe hash-uri. 16 00:01:09,690 --> 00:01:13,460 Și de mai sus că, două spații, două hash-uri, două spații, două hash-uri. 17 00:01:13,460 --> 00:01:18,090 Și, în sfârșit, trei spatii de unul hash, două spații unul hash. 18 00:01:18,090 --> 00:01:20,980 Deci, ar trebui să înceapă să observe modelul aici. 19 00:01:20,980 --> 00:01:22,545 >> Să ne uităm la codul de modul în care am de gând să faci asta. 20 00:01:22,545 --> 00:01:25,290 21 00:01:25,290 --> 00:01:28,840 Vedem aici că suntem iterarea peste toate rândurile ale piramidei. 22 00:01:28,840 --> 00:01:31,720 În primul rând ne-o dorim pentru a calcula numărul de spații. 23 00:01:31,720 --> 00:01:34,690 Și amintiți-vă că trebuie să înceapă de la vârful piramidei și munca noastră 24 00:01:34,690 --> 00:01:37,790 drum în jos, deoarece nu putem imprima partea de jos, apoi un rând în sus și 25 00:01:37,790 --> 00:01:39,140 apoi un rând în sus. 26 00:01:39,140 --> 00:01:44,030 Deci, în partea de sus a piramidei, avizul că numărul de spații este egal cu 27 00:01:44,030 --> 00:01:45,720 înălțime minus 1. 28 00:01:45,720 --> 00:01:50,120 Vom imprima trei spații apoi un hash și apoi două spații pentru a 29 00:01:50,120 --> 00:01:53,350 separată și un alt hash. 30 00:01:53,350 --> 00:01:57,320 >> Deci spații este egal cu înălțime minus rând. 31 00:01:57,320 --> 00:02:03,180 Dacă rândul este de 1 și înălțimea noastră este de 4, care ne va da de 3 spații, așa cum ne-o dorim. 32 00:02:03,180 --> 00:02:06,900 Atunci acest lucru pentru bucla doar printuri că numărul de spații. 33 00:02:06,900 --> 00:02:12,630 Dacă spații este de trei, atunci vom a crea un singur spatiu de trei ori. 34 00:02:12,630 --> 00:02:18,750 >> Continuând, acum vrem să imprimați hash ale piramidei stâng, care este 35 00:02:18,750 --> 00:02:20,630 doar egal la numărul de rând. 36 00:02:20,630 --> 00:02:23,250 Privind înapoi aici, în rândul unul, am imprima un hash. 37 00:02:23,250 --> 00:02:25,960 În rândul doi vom imprima două, în rând trei noi imprima trei. 38 00:02:25,960 --> 00:02:30,440 Ori rând așa, pur și simplu ne-am bucla imprimare simbol hash. 39 00:02:30,440 --> 00:02:34,830 Apoi, pentru toate rândurile ale piramidei, ne-am imprima exact două spații pentru a separa 40 00:02:34,830 --> 00:02:36,360 aceste piramide. 41 00:02:36,360 --> 00:02:39,590 >> Și, în sfârșit, ne-o dorim pentru a imprima dreapta laterală a piramidei, care este 42 00:02:39,590 --> 00:02:42,160 din nou același număr de hash-uri ca partea stângă. 43 00:02:42,160 --> 00:02:45,680 Și așa e același exactă pentru bucla ca mai sus aici. 44 00:02:45,680 --> 00:02:49,445 În cele din urmă, avem nevoie pentru a crea o linie nouă în Pentru a trece la următorul rând de 45 00:02:49,445 --> 00:02:51,690 piramida și a continua imprimarea. 46 00:02:51,690 --> 00:02:53,010 Și asta e tot. 47 00:02:53,010 --> 00:02:54,860 Numele meu este Rob și acest lucru a fost Mario. 48 00:02:54,860 --> 00:03:01,718