class DungeonMap
Public Class Methods
new(map)
click to toggle source
# File lib/dungeon_map.rb, line 12 def initialize map @map = map end
Public Instance Methods
choices(location)
click to toggle source
# File lib/dungeon_map.rb, line 25 def choices location doors = doors_at location door_choices = {} doors.keys.each do |command| door_choices[command.to_sym] = "Go through the #{DoorNames[command]}." end Choice.new 'Where will you go next?', door_choices end
door_to(current_location, command)
click to toggle source
# File lib/dungeon_map.rb, line 16 def door_to current_location, command doors = doors_at current_location if doors[command.to_sym] return doors[command.to_sym] else return current_location end end
doors_at(location)
click to toggle source
# File lib/dungeon_map.rb, line 34 def doors_at location doors = {} @map[location].each_with_index do |door, next_room| doors[door.to_sym] = next_room if door != ' ' end doors end
to_s()
click to toggle source
# File lib/dungeon_map.rb, line 42 def to_s rows = [] @map.each_with_index do |row, i| rows << "#{i}|#{row.join '|'}" end rows.join "\n" end