Como criar código para desenhar um triângulo em ruby
Você pode criar um método para desenhar um triângulo em Ruby. Primeiro, pense sobre como isso pode funcionar. O triângulo que você vai chamar será parecido com um triângulo isósceles, onde dois lados será o mesmo tamanho e a base será exibido um pouco menor.
Conteúdo
Ao contrário do retângulo, onde cada linha é fácil de formato, para o triângulo que você precisa para fazer cada linha olhar diferente. A primeira linha será a parte superior do triângulo (a extremidade pontiaguda). A última linha será a base do triângulo e será a largura que o usuário especifica.
Veja se você pode descobrir o que o código está fazendo aqui.
Video: Geometria Descritiva - Desenhar um Triângulo Equilátero Sendo Dado um dos Lados
Iniciar um novo método chamado triângulo:
# Acima aqui é o fim do triângulo retângulo MethodDef (altura, outside_letter, inside_letter) # Código para o triângulo vai hereend
Note que você estará usando o altura variável tanto para a altura e a largura interior deste método.
Criar um loop que irá repetir altura vezes. Coloque este código dentro do método triângulo:
Video: Geometria Descritiva - Desenhar um Triângulo Inscrito numa Circunferência
1.upto (altura) fazer | fileira | # código Drawing vai aqui na próxima stepend
Para um triângulo, você precisa desenhar espaços em branco (áreas vazias) para cada linha que não ocupam toda a largura que você está desenhando. Como você desenhar cada linha, você estará extraindo menos espaço em branco. Adicione esta linha como a primeira linha do seu loop:
print `` * (altura - linha)
A matemática aqui irá calcular um número menor de espaços como o número da linha fica maior (lembre-se, você está contando a linha 1 no topo e linha será igual à altura na parte inferior).
Em seguida, você tem que lidar com o caso para a primeira linha, que é o topo do triângulo:
Video: Como Desenhar o Triângulo de Penrose ou Triângulo Impossível?
Se a linha == 1puts "# {Outside_letter * 2}"fim
código Passo 4 do vai imediatamente após a Etapa 3.
Lidar com o último caso linha próxima, adicionando uma ELSIF condição.
Se a linha == 1puts "# {Outside_letter * 2}"linha ELSIF == heightputs outside_letter * altura * 2end
Agora adicione o código para o caso um pouco mais complicado de lidar com todas as linhas médias. Para esta última parte da condição, você vai usar um outro cláusula. Veja a condição inteira aqui:
Se a linha == 1puts "# {Outside_letter * 2}"linha ELSIF == heightputs outside_letter * altura * 2elsemiddle = inside_letter * (linha - 2) impressão "# {Outside_letter} # {meio} # {inside_letter}"puts "# {Inside_letter} # {meio} # {outside_letter}"fim
O código parece um pouco estranho. Por que há tanto um impressão e uma puts declaração?
É hora de mostrar o triângulo. Na parte inferior do arquivo de código, sob a retângulo chamada de método, adicionar um triângulo chamada de método:
triângulo (altura, outside_letter, inside_letter)
Salve o arquivo de programa, mudar para o seu terminal, e execute o programa. Você deve ver algo como isto:
O código de exemplo usado inclui um método retângulo antes do método triângulo, então você verá um retângulo equilibrou em um triângulo.