class Dungeonapp
attr_accessor :player
def initialize(player_name)
@player = Player.new(player_name)
@rooms = []
end
def add_room(reference, name, description, connections)
@rooms << Room.new(reference, name, description, connections)
end
def start(location)
@player. location = location
show_current_description
end
def show_current_description
puts find_room_in_dungeon(@player.location).full_description
end
def find_room_in_dungeon(reference)
@rooms.detect { |room| room.reference == reference }
end
def find_room_in_direction(direction)
find_room_in_dungeon(@player.location).connections[direction]
end
def go(direction)
puts "You go " + direction.to_s
@player.location = find_room_in_direction(direction)
show_current_description
end
class Player
attr_accessor :name, :location
def initialize(name)
@name = name
end
end
class Room
attr_accessor :reference, :name, :description, :connections
def initialize(reference, name, description, connections)
@reference = reference
@name = name
@description = description
@connections = connections
end
def full_description
@name + "\n\nYou are in " + @description
end
end
end
this is my dungeonapp.rb file.I am using Ubuntu.Now how to execute this
code :
my_dungeon = Dungeon.new(“Fred Bloggs”)
my_dungeon.add_room(:largecave, “Large Cave”, “a large cavernous cave”,
{
:west => :smallcave })
my_dungeon.add_room(:smallcave, “Small Cave”, “a small, claustrophobic
cave”, {
:east => :largecave })
Question:
1.How to run this code from out of the file,like we do in java.Do I need
to go to irb prompt or usual command prompt for firing this code out of
the file.
2.When i copy the code of this file and directly paste on the irb prompt
it automatically add prefix “dungeonapp.rb” in each line! what is the
reason behind this.
Thank you guys.I need urgent help.