Class: StudioGame::Player
- Inherits:
-
Object
- Object
- StudioGame::Player
- Includes:
- Playable
- Defined in:
- lib/studio_game/player.rb
Direct Known Subclasses
Instance Attribute Summary collapse
-
#health ⇒ Object
Returns the value of attribute health.
-
#name ⇒ Object
Returns the value of attribute name.
Class Method Summary collapse
Instance Method Summary collapse
-
#each_found_treasure ⇒ Object
puts “#@name‘s treasures: #@found_treasure”.
- #found_treasures(treasure) ⇒ Object
-
#initialize(name, health = 100) ⇒ Player
constructor
A new instance of Player.
- #points ⇒ Object
- #score ⇒ Object
- #to_s ⇒ Object
Methods included from Playable
Constructor Details
#initialize(name, health = 100) ⇒ Player
Returns a new instance of Player.
8 9 10 11 12 |
# File 'lib/studio_game/player.rb', line 8 def initialize(name,health=100) @name = name.capitalize @health = health @found_treasure= Hash.new(0) end |
Instance Attribute Details
#health ⇒ Object
Returns the value of attribute health.
7 8 9 |
# File 'lib/studio_game/player.rb', line 7 def health @health end |
#name ⇒ Object
Returns the value of attribute name.
7 8 9 |
# File 'lib/studio_game/player.rb', line 7 def name @name end |
Class Method Details
Instance Method Details
#each_found_treasure ⇒ Object
puts “#@name‘s treasures: #@found_treasure”
23 24 25 26 27 |
# File 'lib/studio_game/player.rb', line 23 def each_found_treasure @found_treasure.each do |name,points| yield Treasure.new(name,points) end end |
#found_treasures(treasure) ⇒ Object
18 19 20 21 22 |
# File 'lib/studio_game/player.rb', line 18 def found_treasures(treasure) @found_treasure[treasure.name] += treasure.points puts "#{@name} found a #{treasure.name} worth #{treasure.points} points" #puts "#{@name}'s treasures: #{@found_treasure}" end |
#points ⇒ Object
28 29 30 |
# File 'lib/studio_game/player.rb', line 28 def points @found_treasure.values.reduce(0,:+) end |
#score ⇒ Object
37 38 39 |
# File 'lib/studio_game/player.rb', line 37 def score @health + points end |
#to_s ⇒ Object
33 34 35 36 |
# File 'lib/studio_game/player.rb', line 33 def to_s "I'm #{@name} with health = #{@health}, points = #{points}, and score = #{score}." end |