class Room attr_accessor :contents, :description end class Contents attr_accessor :contents def initialize contents @contents = contents end end class Player attr_accessor :inventory end class Map def initialize airlock1 = Room.new airlock1.description = "The airlock of a space station. It contains:" airlock1.contents = Contents.new ["Spacesuit", "Clipboard", "Flashlight"] science_lab = Room.new science_lab.description = "You're in the science lab. It contains:" science_lab.contents = Contents.new ["Plasma Cutter", "Chemicals", "USB Drive"] mess_hall = Room.new mess_hall.description = "You're in the mess hall. It contains:" crew_quarters = Room.new crew_quarters.description = "You're in the crew quarters. It contains:" @map = [[airlock1, science_lab],[mess_hall, crew_quarters]] @current_room_position = [0,0] end def move direction case direction when "UP" if @current_room_position [0] > 0 @current_room_position [0] -= 1 end when "DOWN" if @current_room_position [0] < @map[0].size-1 @current_room_position [0] += 1 end when "LEFT" # unimpemented when "RIGHT" #unimplemented end puts @map[@current_room_position[0]][@current_room_position[1]].description end end map = Map.new while input = gets.chomp() map.move(input) end