class RobotToyJonhnes::RobotMover
Attributes
game[R]
Public Class Methods
new(game)
click to toggle source
# File lib/robot_toy_jonhnes/robot_mover.rb, line 5 def initialize(game) @game = game end
Public Instance Methods
to_east()
click to toggle source
# File lib/robot_toy_jonhnes/robot_mover.rb, line 24 def to_east new_column_position = game.position_column + 1 update_column_position new_column_position end
to_local(new_line, new_column, new_orientation)
click to toggle source
# File lib/robot_toy_jonhnes/robot_mover.rb, line 29 def to_local(new_line, new_column, new_orientation) can_save = PositionValidator.new_place_valid? new_line, new_column, new_orientation, game raise StandardError, 'Invalid place' unless can_save game.position_line = new_line.to_i game.position_column = new_column.to_i game.facing = new_orientation.upcase.to_sym end
to_north()
click to toggle source
# File lib/robot_toy_jonhnes/robot_mover.rb, line 9 def to_north new_line_position = game.position_line - 1 update_line_position new_line_position end
to_south()
click to toggle source
# File lib/robot_toy_jonhnes/robot_mover.rb, line 14 def to_south new_line_position = game.position_line + 1 update_line_position new_line_position end
to_west()
click to toggle source
# File lib/robot_toy_jonhnes/robot_mover.rb, line 19 def to_west new_column_position = game.position_column - 1 update_column_position new_column_position end
Private Instance Methods
update_column_position(new_position)
click to toggle source
# File lib/robot_toy_jonhnes/robot_mover.rb, line 50 def update_column_position(new_position) can_save = PositionValidator.new_position_valid?( new_position, board_limit: game.board_width ) raise StandardError, 'You reached the border' unless can_save game.position_column = new_position.to_i end
update_line_position(new_position)
click to toggle source
# File lib/robot_toy_jonhnes/robot_mover.rb, line 41 def update_line_position(new_position) can_save = PositionValidator.new_position_valid?( new_position, board_limit: game.board_height ) raise StandardError, 'You reached the border' unless can_save game.position_line = new_position.to_i end