class TreasureHunt

Attributes

next_waypoint[RW]
num_waypoints[RW]

Public Class Methods

new(loot) click to toggle source
# File lib/lister.rb, line 16
def initialize(loot)
  @next_waypoint = Waypoint.new(loot)
  @num_waypoints = 1
end

Public Instance Methods

add_waypoint(hint) click to toggle source
# File lib/lister.rb, line 21
def add_waypoint(hint)
  current = Waypoint.new(hint)
  current.leads_to = @next_waypoint
  @num_waypoints += 1
  @next_waypoint = current
end
remove(waypoint) click to toggle source
# File lib/lister.rb, line 40
def remove(waypoint)
  current_loc = @next_waypoint
  result = nil
  prev_loc = nil
  while current_loc != nil
    if current_loc.item == waypoint.item
      result = current_loc
      prev_loc.leads_to = current_loc.leads_to
    end
    prev_loc = current_loc
    current_loc = current_loc.leads_to
  end
  return result
end
to_s() click to toggle source
# File lib/lister.rb, line 55
def to_s
  current_loc = @next_waypoint
  result = ""
  while current_loc !=nil
    item = current_loc.item
    if item.is_a?(Symbol)
      result += ":" + item.to_s + ", "
    elsif item.is_a?(String)
      result += "'" + item.to_s + "', "
    else
      result += item.to_s + ", "
    end
    current_loc = current_loc.leads_to
  end
  return result.chomp(", ")
end