Class: StudioGame::Player
- Inherits:
-
Object
- Object
- StudioGame::Player
- Includes:
- Playable
- Defined in:
- lib/studio_game/player.rb
Overview
Provides methods for working with the Player object
Direct Known Subclasses
Instance Attribute Summary collapse
-
#found_treasures ⇒ Object
readonly
Returns the value of attribute found_treasures.
-
#health ⇒ Object
readonly
Returns the value of attribute health.
-
#name ⇒ Object
Returns the value of attribute name.
Class Method Summary collapse
Instance Method Summary collapse
- #found_treasure(name, points) ⇒ 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.
15 16 17 18 19 |
# File 'lib/studio_game/player.rb', line 15 def initialize(name, health = 100) @name = name.capitalize @health = health @found_treasures = Hash.new(0) end |
Instance Attribute Details
#found_treasures ⇒ Object (readonly)
Returns the value of attribute found_treasures.
13 14 15 |
# File 'lib/studio_game/player.rb', line 13 def found_treasures @found_treasures end |
#health ⇒ Object (readonly)
Returns the value of attribute health.
11 12 13 |
# File 'lib/studio_game/player.rb', line 11 def health @health end |
#name ⇒ Object
Returns the value of attribute name.
12 13 14 |
# File 'lib/studio_game/player.rb', line 12 def name @name end |
Class Method Details
Instance Method Details
#found_treasure(name, points) ⇒ Object
25 26 27 |
# File 'lib/studio_game/player.rb', line 25 def found_treasure(name, points) @found_treasures[name] += points end |
#points ⇒ Object
21 22 23 |
# File 'lib/studio_game/player.rb', line 21 def points @found_treasures.values.sum end |
#score ⇒ Object
33 34 35 |
# File 'lib/studio_game/player.rb', line 33 def score @health + points end |
#to_s ⇒ Object
29 30 31 |
# File 'lib/studio_game/player.rb', line 29 def to_s "I'm #{@name} with health = #{@health}, points = #{points}, and score = #{score}" end |