1 00:00:00,000 --> 00:00:13,010 2 00:00:13,010 --> 00:00:18,290 >> ROB BOWDEN: Hola, soy Rob, y vamos a saltar en la edición pirata de Mario. 3 00:00:18,290 --> 00:00:21,760 Así que lo primero que tenemos que hacer es obtener la altura del usuario. 4 00:00:21,760 --> 00:00:26,290 Aquí les estamos pidiendo una entero no negativo menor que 24 y 5 00:00:26,290 --> 00:00:31,710 estamos usando la función CS50 GetInt para agarrar número entero de que el usuario. 6 00:00:31,710 --> 00:00:35,260 Vemos que estamos dentro de un bucle do-while que seguirá un bucle, siempre y cuando 7 00:00:35,260 --> 00:00:38,400 la altura es mayor que 23 o menos de 0. 8 00:00:38,400 --> 00:00:42,850 Y así vamos a seguir hasta que el usuario en realidad nos da lo que queremos. 9 00:00:42,850 --> 00:00:46,960 >> Una vez que tengamos esa altura, se llega a el principal lazo de nuestro programa. 10 00:00:46,960 --> 00:00:49,510 Así que primero vamos a ver un ejemplo de la especificación pset. 11 00:00:49,510 --> 00:00:52,270 12 00:00:52,270 --> 00:00:56,940 Vemos en este ejemplo que cuando introducir una altura de 4, la fila inferior 13 00:00:56,940 --> 00:01:01,520 imprime primero cuatro hashes, dos espacios, y cuatro más hashes. 14 00:01:01,520 --> 00:01:06,280 >> Entonces, una fila por encima de que imprime una espacio tres hashes, dos espacios a 15 00:01:06,280 --> 00:01:09,690 separar las pirámides, y luego tres más hashes. 16 00:01:09,690 --> 00:01:13,460 Y encima de eso, dos espacios, dos hashes, dos espacios, dos hashes. 17 00:01:13,460 --> 00:01:18,090 Y, por último, tres espacios uno hachís, dos plazas de un hash. 18 00:01:18,090 --> 00:01:20,980 Así que usted debe comenzar a notar el patrón aquí. 19 00:01:20,980 --> 00:01:22,545 >> Veamos el código para saber cómo vamos a hacer eso. 20 00:01:22,545 --> 00:01:25,290 21 00:01:25,290 --> 00:01:28,840 Vemos aquí que estamos iterando sobre todas las filas de la pirámide. 22 00:01:28,840 --> 00:01:31,720 En primer lugar queremos calcular el número de espacios. 23 00:01:31,720 --> 00:01:34,690 Y recuerda que tenemos que empezar a la parte superior de la pirámide y trabajar nuestra 24 00:01:34,690 --> 00:01:37,790 camino hacia abajo ya que no podemos imprimir el parte inferior y luego una fila hacia arriba y 25 00:01:37,790 --> 00:01:39,140 a continuación, una fila hacia arriba. 26 00:01:39,140 --> 00:01:44,030 Así que en la parte superior de la pirámide, el aviso que el número de espacios es igual a 27 00:01:44,030 --> 00:01:45,720 Altura de menos 1. 28 00:01:45,720 --> 00:01:50,120 Vamos a imprimir tres espacios a continuación un hash y a continuación, dos espacios para 29 00:01:50,120 --> 00:01:53,350 separada y otro hash. 30 00:01:53,350 --> 00:01:57,320 >> Así espacios es igual a fila de menos altura. 31 00:01:57,320 --> 00:02:03,180 Si la fila es 1 y nuestra altura es de 4, que nos dará 3 espacios, ya que queremos. 32 00:02:03,180 --> 00:02:06,900 Entonces esto para bucle sólo impresiones ese número de espacios. 33 00:02:06,900 --> 00:02:12,630 Si los espacios son tres, a continuación, vamos a crear un único espacio de tres veces. 34 00:02:12,630 --> 00:02:18,750 >> Continuando, ahora queremos imprimir el hashes de la pirámide de la izquierda, que es 35 00:02:18,750 --> 00:02:20,630 simplemente igual al número de fila. 36 00:02:20,630 --> 00:02:23,250 Mirando hacia atrás aquí, en la fila uno es la impresión de un hash. 37 00:02:23,250 --> 00:02:25,960 En la fila dos es la impresión de dos, en la fila tres imprimimos tres. 38 00:02:25,960 --> 00:02:30,440 Veces la fila Así que simplemente bucle Impresión símbolo hash. 39 00:02:30,440 --> 00:02:34,830 A continuación, para todas las filas de la pirámide, nos imprimir exactamente dos espacios para separar 40 00:02:34,830 --> 00:02:36,360 esas pirámides. 41 00:02:36,360 --> 00:02:39,590 >> Y, por último, queremos imprimir el derecho lado de la pirámide, que es 42 00:02:39,590 --> 00:02:42,160 de nuevo el mismo número de valores hash como el lado izquierdo. 43 00:02:42,160 --> 00:02:45,680 Y lo que es exactamente el mismo para el lazo que el anterior aquí. 44 00:02:45,680 --> 00:02:49,445 Por último, tenemos que crear una nueva línea en Para pasar a la siguiente fila de 45 00:02:49,445 --> 00:02:51,690 la pirámide y seguir imprimiendo. 46 00:02:51,690 --> 00:02:53,010 Y eso es todo. 47 00:02:53,010 --> 00:02:54,860 Mi nombre es Rob y esto era Mario. 48 00:02:54,860 --> 00:03:01,718