class Noise
Public Class Methods
new(width, height, grain)
click to toggle source
Calls superclass method
Map::new
# File lib/delve/generator/noise.rb, line 11 def initialize width, height, grain raise 'Cannot initialize noise generator when width is less than zero' if width < 0 raise 'Cannot initialize noise generator when height is less than zero' if height < 0 raise 'Cannot initialize noise generator when grain is not defined' unless grain raise 'Cannot initialize noise generator with unknown grain' unless @@grains.include?(grain) super width, height @grain = @@grains[grain] @inverse = 1/@grain end
Public Instance Methods
generate() { |x| ... }
click to toggle source
# File lib/delve/generator/noise.rb, line 23 def generate noise = Perlin::Noise.new 2 0.step((@width-1) * @grain, @grain) do |x| 0.step((@height-1) * @grain, @grain).each do |y| yield(x*@inverse, y*@inverse, noise[x, y]) end end end