Module: DMTool::Roller

Defined in:
lib/dmtool/roller.rb

Class Method Summary collapse

Class Method Details

.roll(dice, directives) ⇒ Object



2
3
4
5
6
7
8
9
# File 'lib/dmtool/roller.rb', line 2

def self.roll(dice, directives)
  ret_val = dice.map do |die|
    directives.each_with_object(die) do |directive, ret|
      directive.process(ret)
    end
  end
  ret_val
end

.sum(dice, directives) ⇒ Object



11
12
13
# File 'lib/dmtool/roller.rb', line 11

def self.sum(dice, directives)
  roll(dice, directives).map(&:value).inject(0, :+)
end