class RobotsFindKitten::Robot

Attributes

message[R]
on_find_kitten[RW]

Public Class Methods

new(server) click to toggle source
Calls superclass method
# File lib/robotsfindkitten/robot.rb, line 11
def initialize(server)
  super()
  @symbol = '#'
  @message = ''
  @server = server
end

Public Instance Methods

move_down() click to toggle source
# File lib/robotsfindkitten/robot.rb, line 22
def move_down
  move(0, 1)
end
move_left() click to toggle source
# File lib/robotsfindkitten/robot.rb, line 26
def move_left
  move(-1, 0)
end
move_right() click to toggle source
# File lib/robotsfindkitten/robot.rb, line 30
def move_right
  move(1, 0)
end
move_up() click to toggle source
# File lib/robotsfindkitten/robot.rb, line 18
def move_up
  move(0, -1)
end

Private Instance Methods

move(dx, dy) click to toggle source
# File lib/robotsfindkitten/robot.rb, line 36
def move(dx, dy)
  new_x = @x + dx
  new_y = @y + dy
  message = @server.occupied?(new_x, new_y)
  if message
    @message = message
  else
    @x = new_x % WIDTH
    @y = new_y % HEIGHT
  end
end