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