Sha256: f24de9a33d1fa72cc47783a5f6320136f03d4cd3d182e7aa92376f18e2e5cf8c

Contents?: true

Size: 597 Bytes

Versions: 2

Compression:

Stored size: 597 Bytes

Contents

require_relative 'player'

module StudioGame
  class BerserkPlayer < Player
    def initialize(name, health = 100)
      super(name, health)
      @w00t_count = 0
    end

    def berserk?
      @w00t_count > 5
    end

    def w00t
      super
      @w00t_count += 1
      puts "#{@name} is berserk!" if berserk?
    end

    def blam
      if berserk?
        w00t
      else
        super
      end
    end
  end
end

if __FILE__ == $PROGRAM_NAME
  berserker = StudioGame::BerserkPlayer.new("berserker", 50)
  6.times { berserker.w00t }
  2.times { berserker.blam }
  puts berserker.health
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
studio_game_michaelwestphal-1.0.1 lib/studio_game/berserk_player.rb
studio_game_michaelwestphal-1.0.0 lib/studio_game/berserk_player.rb