Sha256: 474f7344b83b6215730413dc4061dca7bb8007b4c9a42d3dbf5169ea817b1fb6
Contents?: true
Size: 1.3 KB
Versions: 9
Compression:
Stored size: 1.3 KB
Contents
# # # TODO This is almost a generator. # class Wave attr_reader :generated_type, :execution_amount, :positioning_function class << self def uniform_random lambda { |window, instance| instance.warp_to *window.uniform_random_position } end def top_border offset = 0 lambda { |window, instance| instance.warp_to rand(window.width), -offset } end def right_border offset = 0 lambda { |window, instance| instance.warp_to window.width+offset, rand(window.height) } end def bottom_border offset = 0 lambda { |window, instance| instance.warp_to rand(window.width), window.height+offset } end def left_border offset = 0 lambda { |window, instance| instance.warp_to -offset, rand(window.height) } end end # # # Note: The function needs a param generated_type. # def initialize generated_type, execution_amount = 1, &positioning_function @generated_type = generated_type @execution_amount = execution_amount @positioning_function = positioning_function || Wave.uniform_random end # # def for_scheduling window lambda do self.execution_amount.times do instance = self.generated_type.new window instance.show self.positioning_function.call(window, instance) end end end end
Version data entries
9 entries across 9 versions & 1 rubygems