ROB BOWDEN: Oi, eu sou Rob, e vamos pular na edição de hackers de Mario. Então a primeira coisa que precisamos fazer é obter a altura do utilizador. Aqui nós estamos pedindo a eles para uma inteiro não negativo menor que 24 e estamos usando a função CS50 GetInt para pegar esse inteiro do usuário. Vemos que estamos dentro de um loop do-while que continuará looping enquanto altura é maior do que 23, ou menor do que 0. E assim nós vamos continuar até que o usuário realmente nos dá o que queremos. Uma vez que temos essa altura, temos de o principal laço for do nosso programa. Então, vamos primeiro olhar para um exemplo da especificação pset. Vemos neste exemplo que, quando introduzir uma altura de 4, a linha inferior primeiro imprime quatro hashes, dois espaços, e mais quatro hashes. Em seguida, uma linha acima que imprime um espaço três hashes, dois espaços para separar as pirâmides, e em seguida, mais três hashes. E acima disso, dois espaços, dois hashes, dois espaços, dois hashes. E, finalmente, três espaços de um Hash, dois espaços de um hash. Então, você deve começar a notar o padrão aqui. Vamos olhar para o código de como vamos fazer isso. Vemos aqui que nós estamos interagindo em todas as linhas da pirâmide. Primeiro queremos calcular o número de espaços. E lembre-se que nós temos que começar a o topo da pirâmide e trabalhar nossa caminho, uma vez que não é possível imprimir o inferior, em seguida, uma linha para cima e em seguida, uma linha para cima. Assim, no topo da pirâmide, a notificação que o número de espaços é igual altura menos 1. Vamos imprimir três espaços, em seguida, um de hash e, em seguida, dois espaços para separado e outro hash. Assim, os espaços é igual altura da linha de menos. Se a linha é 1 e nossa altura é 4, que vai nos dar três espaços, como nós queremos. Então este laço for apenas impressões esse número de espaços. Se espaços é três, então vamos criar um único espaço três vezes. Continuando, agora queremos imprimir o hashes da pirâmide esquerdo, que é apenas igual ao número da linha. Olhando para trás, aqui, na linha um, nós imprimimos um hash. Na linha dois imprimimos dois, em linha três imprimimos três. Vezes linha Então, nós simplesmente laço impressão símbolo hash. Então, para todas as linhas da pirâmide, nós imprimir exatamente dois espaços para separar essas pirâmides. E, finalmente, queremos imprimir à direita lado da pirâmide, o que é novamente o mesmo número de guisados como do lado esquerdo. E por isso é exatamente o mesmo loop for como acima aqui. Finalmente, precisamos criar uma nova linha na Para passar para a próxima linha de a pirâmide e continuar a impressão. E é isso. Meu nome é Rob e isso foi Mario.