Sha256: 04a230c1526e73033d4c2cd4036ecd4f2f011c376d17fe67dee30a6bbfbdca82
Contents?: true
Size: 935 Bytes
Versions: 1
Compression:
Stored size: 935 Bytes
Contents
require_relative 'player' require_relative 'treasure_trove' module StudioGame class ClumsyPlayer < Player attr_accessor :boost_factor def initialize(name, health=100, boost_factor=1) super(name, health) @boost_factor = boost_factor end def found_treasure(treasure) damaged_treasure = Treasure.new(treasure.name, treasure.points / 2.0) super(damaged_treasure) end def w00t @boost_factor.times { super } end end if __FILE__ == $0 clumsy = ClumsyPlayer.new("klutz", 105) hammer = Treasure.new(:hammer, 50) clumsy.found_treasure(hammer) clumsy.found_treasure(hammer) clumsy.found_treasure(hammer) crowbar = Treasure.new(:crowbar, 400) clumsy.found_treasure(crowbar) clumsy.each_found_treasure do |treasure| puts "#{treasure.points} total #{treasure.name} points" end puts "#{clumsy.points} grand total points" end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
vic_studio_game-1.0.0 | lib/studio_game/clumsy_player.rb |