1 00:00:00,000 --> 00:00:13,010 2 00:00:13,010 --> 00:00:18,290 >> ROB Bowden: Hola, sóc Rob, i anem a saltar en l'edició pirata de Mario. 3 00:00:18,290 --> 00:00:21,760 Així que el primer que hem de fer és obtenir l'altura de l'usuari. 4 00:00:21,760 --> 00:00:26,290 Aquí els estem demanant una sencer no negatiu menor que 24 i 5 00:00:26,290 --> 00:00:31,710 estem fent servir la funció CS50 GetInt per agafar nombre enter que l'usuari. 6 00:00:31,710 --> 00:00:35,260 Veiem que estem dins d'un bucle do-while que seguirà un bucle, sempre que 7 00:00:35,260 --> 00:00:38,400 l'altura és més gran que 23 o menys de 0. 8 00:00:38,400 --> 00:00:42,850 I així seguirem fins que l'usuari en realitat ens dóna el que volem. 9 00:00:42,850 --> 00:00:46,960 >> Un cop tinguem aquesta altura, s'arriba a el principal llaç del nostre programa. 10 00:00:46,960 --> 00:00:49,510 Així que primer anem a veure un exemple de l'especificació PSET. 11 00:00:49,510 --> 00:00:52,270 12 00:00:52,270 --> 00:00:56,940 Veiem en aquest exemple que quan introduir una alçada de 4, la fila inferior 13 00:00:56,940 --> 00:01:01,520 imprimeix primer quatre hashes, dos espais, quatre més hashes. 14 00:01:01,520 --> 00:01:06,280 >> Llavors, una fila per sobre que imprimeix una espai 3 hashes, dos espais a 15 00:01:06,280 --> 00:01:09,690 separar les piràmides, i després tres més hashes. 16 00:01:09,690 --> 00:01:13,460 I a sobre d'això, dos espais, dos hashes, dos espais, dos hashes. 17 00:01:13,460 --> 00:01:18,090 I, finalment, tres espais 1 haixix, dues places d'un hash. 18 00:01:18,090 --> 00:01:20,980 Així que vostè ha de començar a notar el patró aquí. 19 00:01:20,980 --> 00:01:22,545 >> Vegem el codi per saber com farem això. 20 00:01:22,545 --> 00:01:25,290 21 00:01:25,290 --> 00:01:28,840 Veiem aquí que estem iterant sobre totes les files de la piràmide. 22 00:01:28,840 --> 00:01:31,720 En primer lloc volem calcular el nombre d'espais. 23 00:01:31,720 --> 00:01:34,690 I recorda que hem de començar a la part superior de la piràmide i treballar la nostra 24 00:01:34,690 --> 00:01:37,790 camí cap avall ja que no podem imprimir el part inferior i després una fila cap amunt i 25 00:01:37,790 --> 00:01:39,140 a continuació, una fila cap amunt. 26 00:01:39,140 --> 00:01:44,030 Així que a la part superior de la piràmide, l'avís que el nombre d'espais és igual a 27 00:01:44,030 --> 00:01:45,720 Altura de almenys 1. 28 00:01:45,720 --> 00:01:50,120 Anem a imprimir tres espais a continuació un hash i tot seguit, dos espais per 29 00:01:50,120 --> 00:01:53,350 separada i un altre hash. 30 00:01:53,350 --> 00:01:57,320 >> Així espais és igual a fila de menys alçada. 31 00:01:57,320 --> 00:02:03,180 Si la fila és 1 i la nostra altura és de 4, que ens donarà 3 espais, ja que volem. 32 00:02:03,180 --> 00:02:06,900 Llavors això per bucle només impressions aquest nombre d'espais. 33 00:02:06,900 --> 00:02:12,630 Si els espais són tres, a continuació, anem a crear un únic espai de tres vegades. 34 00:02:12,630 --> 00:02:18,750 >> Continuant, ara volem imprimir el hashes de la piràmide de l'esquerra, que és 35 00:02:18,750 --> 00:02:20,630 simplement igual al nombre de fila. 36 00:02:20,630 --> 00:02:23,250 Mirant cap enrere aquí, a la fila un és la impressió d'un hash. 37 00:02:23,250 --> 00:02:25,960 A la fila 2 és la impressió de dos, en la fila 3 imprimim 3. 38 00:02:25,960 --> 00:02:30,440 Vegades la fila Així que simplement bucle Impressió símbol hash. 39 00:02:30,440 --> 00:02:34,830 A continuació, per a totes les files de la piràmide, ens imprimir exactament dos espais per separar 40 00:02:34,830 --> 00:02:36,360 aquestes piràmides. 41 00:02:36,360 --> 00:02:39,590 >> I, finalment, volem imprimir el dret costat de la piràmide, que és 42 00:02:39,590 --> 00:02:42,160 de nou el mateix nombre de valors hash com la banda esquerra. 43 00:02:42,160 --> 00:02:45,680 I el que és exactament el mateix per al llaç que l'anterior aquí. 44 00:02:45,680 --> 00:02:49,445 Finalment, hem de crear una nova línia a Per passar a la següent fila de 45 00:02:49,445 --> 00:02:51,690 la piràmide i seguir imprimint. 46 00:02:51,690 --> 00:02:53,010 I això és tot. 47 00:02:53,010 --> 00:02:54,860 El meu nom és Rob i això era Mario. 48 00:02:54,860 --> 00:03:01,718