summaryrefslogtreecommitdiffhomepage
path: root/tileset.rb
diff options
context:
space:
mode:
authorrealtradam <[email protected]>2021-05-04 06:23:39 -0400
committerrealtradam <[email protected]>2021-05-04 06:23:39 -0400
commita62ac5e77570516c399f9bad114aaba7bf20ff67 (patch)
tree96b39ea4c9a51fc6fcf90ad86e595a20a04a8912 /tileset.rb
parent5942751cd24345cfe1fb4a40f9390ae99fd0a57d (diff)
downloadtileset-map-editor-a62ac5e77570516c399f9bad114aaba7bf20ff67.tar.gz
tileset-map-editor-a62ac5e77570516c399f9bad114aaba7bf20ff67.zip
testing grid
Diffstat (limited to 'tileset.rb')
-rw-r--r--tileset.rb30
1 files changed, 16 insertions, 14 deletions
diff --git a/tileset.rb b/tileset.rb
index 6f32d39..f2fc1a2 100644
--- a/tileset.rb
+++ b/tileset.rb
@@ -3,13 +3,13 @@
# A Tileset :) TODO
class Tileset
attr_reader :tileset,
- :x_dimension, :y_dimension,
+ :columns, :rows,
:width, :height
- def initialize(directory, x_dimension, y_dimension)
+ def initialize(directory, width, height)
puts directory
- @x_dimension = x_dimension
- @y_dimension = y_dimension
+ @width = width
+ @height = height
if directory[-1] == '/'
directory = "#{directory}*"
elsif directory[-1] != '*'
@@ -20,28 +20,30 @@ class Tileset
images = Dir[directory].sort
factors = divisors_of(images.length)
puts factors
- @width = factors[factors.length / 2]
- @height = factors[(factors.length / 2) - 1]
+ @columns = factors[factors.length / 2]
+ @rows = factors[(factors.length / 2) - 1]
- @tileset = Array.new(@width, nil) { Array.new(@height, nil) }
+ @tileset = Array.new(@columns, nil) { Array.new(@rows, nil) }
images.each_with_index do |image, index|
- x = index % @width
+ x = index % @columns
puts "Image #{index} is #{image}"
#@tileset[x] = [] if @tileset[x].nil?
- @tileset[x][((index - x) / @width)] = image
+ @tileset[x][((index - x) / @columns)] = image
#puts @tileset[x][((index - x) / 23)]
end
end
- def create_image(x_tile, y_tile)
- Image.new(tileset[x_tile][y_tile],
- width: x_dimension,
- height: y_dimension)
+ def create_image(column:, row:, x: 0, y: 0)
+ Image.new(tileset[column][row],
+ width: width,
+ height: height,
+ x: x,
+ y: y)
end
private
def divisors_of(num)
- (1..num).select { |n|num % n == 0 }
+ (1..num).select { |n| (num % n).zero? }
end
end