class MyToyRobot::Simulator

Attributes

robot[R]

Public Class Methods

new(table) click to toggle source
# File lib/my_toy_robot/simulator.rb, line 4
def initialize(table)
  @table = table
end

Public Instance Methods

invalid(command) click to toggle source
# File lib/my_toy_robot/simulator.rb, line 29
def invalid(command) 
  puts "'#{command.strip}' is an invalid command"
end
move() click to toggle source
# File lib/my_toy_robot/simulator.rb, line 13
def move
  return unless robot_placed?
  return unless @table.valid_location?(*robot.next_move)
  robot.move
end
place(east, north, facing) click to toggle source
# File lib/my_toy_robot/simulator.rb, line 8
def place(east, north, facing)
  return unless @table.valid_location?(east, north)
  @robot = Robot.new(east, north, facing)
end
report() click to toggle source
# File lib/my_toy_robot/simulator.rb, line 33
def report 
  return unless robot_placed?
  position = robot.report
  puts "Robot is currently at (#{position[:east]}, #{position[:north]}) and it\'s facing #{position[:direction]}"
end
robot_placed?() click to toggle source
# File lib/my_toy_robot/simulator.rb, line 39
def robot_placed?
  !robot.nil?
end
turn_left() click to toggle source
# File lib/my_toy_robot/simulator.rb, line 19
def turn_left
  return unless robot_placed?
  robot.turn_left
end
turn_right() click to toggle source
# File lib/my_toy_robot/simulator.rb, line 24
def turn_right
  return unless robot_placed?
  robot.turn_right
end