class Position

Attributes

direction[R]
x_coord[R]
y_coord[R]

Public Class Methods

new(x_coord: 0, y_coord: 0, direction: North) click to toggle source
# File lib/another_toy_robot/position.rb, line 6
def initialize(x_coord: 0, y_coord: 0, direction: North)
  @x_coord   = x_coord
  @y_coord   = y_coord
  @direction = direction
end

Public Instance Methods

advance() click to toggle source
# File lib/another_toy_robot/position.rb, line 12
def advance
  new_position(x_coord: @x_coord + @direction::X_DISPLACEMENT,
               y_coord: @y_coord + @direction::Y_DISPLACEMENT)
end
left() click to toggle source
# File lib/another_toy_robot/position.rb, line 17
def left
  new_position direction: @direction.left
end
right() click to toggle source
# File lib/another_toy_robot/position.rb, line 21
def right
  new_position direction: @direction.right
end
to_s() click to toggle source
# File lib/another_toy_robot/position.rb, line 25
def to_s
  "#{@x_coord}, #{@y_coord}, #{@direction}"
end

Private Instance Methods

new_position(x_coord: @x_coord, y_coord: @y_coord, direction: @direction) click to toggle source
# File lib/another_toy_robot/position.rb, line 31
def new_position(x_coord: @x_coord, y_coord: @y_coord, direction: @direction)
  Position.new x_coord: x_coord, y_coord: y_coord, direction: direction
end