Sha256: 54523733fe566399d65b138d693888b2923803f4622fde39e32aa9244616bfa8

Contents?: true

Size: 1.32 KB

Versions: 329

Compression:

Stored size: 1.32 KB

Contents

module Bookkeeping
  VERSION = 1
end
class Diamond
  def self.make_diamond(letter)
    script = ""
    have_reached_middle = false
    space_from_middle = 0
    total_lines = ((letter.ord - 64) * 2 - 1)
    middle = total_lines/2
    letter_char_code = 65
    (0..total_lines - 1).each do |i|
      line = Array.new(total_lines, " ")                      # creates a line in each loop
      if i == 0 || i == total_lines - 1                      # placing the letter A in the beginning and end
        line[middle] = "A"
      else
        first_repeated_letter = middle - space_from_middle   # find position and place letters in positions
        second_repeated_letter = middle + space_from_middle
        line[first_repeated_letter] = letter_char_code.chr
        line[second_repeated_letter] = letter_char_code.chr
      end
      script += line.join("") + "\n"
      if i == middle                    #check if reached middle so it can start decrementing position of letters
        have_reached_middle = true
      end
      if !have_reached_middle
        space_from_middle += 1
        letter_char_code += 1
      else
        space_from_middle -= 1
        letter_char_code -= 1
      end
    end                       #end loop
    # puts script             #shows the outputted diamond
    script
  end                          #end method
end

Version data entries

329 entries across 329 versions & 1 rubygems

Version Path
trackler-2.2.1.159 tracks/ruby/exercises/diamond/.meta/solutions/diamond.rb
trackler-2.2.1.158 tracks/ruby/exercises/diamond/.meta/solutions/diamond.rb
trackler-2.2.1.157 tracks/ruby/exercises/diamond/.meta/solutions/diamond.rb
trackler-2.2.1.156 tracks/ruby/exercises/diamond/.meta/solutions/diamond.rb
trackler-2.2.1.155 tracks/ruby/exercises/diamond/.meta/solutions/diamond.rb
trackler-2.2.1.154 tracks/ruby/exercises/diamond/.meta/solutions/diamond.rb
trackler-2.2.1.153 tracks/ruby/exercises/diamond/.meta/solutions/diamond.rb
trackler-2.2.1.152 tracks/ruby/exercises/diamond/.meta/solutions/diamond.rb
trackler-2.2.1.151 tracks/ruby/exercises/diamond/.meta/solutions/diamond.rb
trackler-2.2.1.150 tracks/ruby/exercises/diamond/.meta/solutions/diamond.rb
trackler-2.2.1.149 tracks/ruby/exercises/diamond/.meta/solutions/diamond.rb
trackler-2.2.1.148 tracks/ruby/exercises/diamond/.meta/solutions/diamond.rb
trackler-2.2.1.147 tracks/ruby/exercises/diamond/.meta/solutions/diamond.rb
trackler-2.2.1.146 tracks/ruby/exercises/diamond/.meta/solutions/diamond.rb
trackler-2.2.1.145 tracks/ruby/exercises/diamond/.meta/solutions/diamond.rb
trackler-2.2.1.144 tracks/ruby/exercises/diamond/.meta/solutions/diamond.rb
trackler-2.2.1.143 tracks/ruby/exercises/diamond/.meta/solutions/diamond.rb
trackler-2.2.1.142 tracks/ruby/exercises/diamond/.meta/solutions/diamond.rb
trackler-2.2.1.141 tracks/ruby/exercises/diamond/.meta/solutions/diamond.rb
trackler-2.2.1.140 tracks/ruby/exercises/diamond/.meta/solutions/diamond.rb