class Robojora::Board

Attributes

maximum_axis_value[R]
minimum_axis_value[R]

Public Class Methods

new() click to toggle source
# File lib/robojora/board.rb, line 3
def initialize
  @minimum_axis_value = Robojora::Settings.minimum_axis_value
  @maximum_axis_value = Robojora::Settings.maximum_axis_value
end

Public Instance Methods

build() click to toggle source
# File lib/robojora/board.rb, line 8
def build
  grid_template.each_with_object([]) do |coordinates, array|
    array << create_grid_square(coordinates)
  end
end
grid_template() click to toggle source
# File lib/robojora/board.rb, line 14
def grid_template
  axis_values = calculate_axis_values
  axis_values.product(axis_values)
end

Private Instance Methods

calculate_axis_values() click to toggle source
# File lib/robojora/board.rb, line 23
def calculate_axis_values
  (minimum_axis_value..maximum_axis_value).to_a
end
create_grid_square(coordinates) click to toggle source
# File lib/robojora/board.rb, line 27
def create_grid_square(coordinates)
  Robojora::Square.new(
    coordinates: coordinates,
    borders: Robojora::BorderClassifier.new(coordinates).assign_border_limit
  )
end