class ClasslessMud::Room

Public Instance Methods

broadcast(message) click to toggle source
# File lib/classless_mud/room.rb, line 27
def broadcast message
  self.players.each do |occupant|
    occupant.puts message
  end
end
broadcast_say(from, message) click to toggle source
# File lib/classless_mud/room.rb, line 33
def broadcast_say from, message
  self.players.each do |player|
    if player == from
      player.puts "You say '#{message}'"
    else
      player.puts "#{from.name} says '#{message}'"
    end
  end
end
characters() click to toggle source
# File lib/classless_mud/room.rb, line 18
def characters
  npcs.to_a + players.to_a
end
enter(player) click to toggle source
# File lib/classless_mud/room.rb, line 12
def enter player
  broadcast "#{player.name} entered the room"
  self.players << player
  player.look
end
exit(player) click to toggle source
# File lib/classless_mud/room.rb, line 22
def exit player
  self.players.delete player
  broadcast "#{player.name} left the room"
end
find(keywords) click to toggle source
# File lib/classless_mud/room.rb, line 47
def find keywords
  keywords_array = keywords.split
  items.detect do |item|
    (item.keywords.split & keywords_array).any?
  end
end
find_character(keyword) click to toggle source
# File lib/classless_mud/room.rb, line 54
def find_character keyword
  characters.detect do |character|
    character.name.include? keyword
  end
end
handle_message(message) click to toggle source
# File lib/classless_mud/room.rb, line 43
def handle_message message
  broadcast message
end