class RpgLib::DiceRoller

DiceRoller

Attributes

parser[R]
roller[RW]

Public Class Methods

new() click to toggle source
# File lib/rpg_lib/dice_roller.rb, line 30
def initialize
  @roller = DieRoller.new
  @parser = Parser::DiceParser.new
end

Public Instance Methods

roll(dice) click to toggle source
# File lib/rpg_lib/dice_roller.rb, line 39
def roll(dice)
  @parser.parse(dice).eval(@roller)
end
roll_and_ignore(dice, ignored_values) click to toggle source
# File lib/rpg_lib/dice_roller.rb, line 43
def roll_and_ignore(dice, ignored_values)
  loop do
    rolled_value = roll(dice)
    return rolled_value unless ignored_values.include?(rolled_value)
  end
end
roll_die(n) click to toggle source
# File lib/rpg_lib/dice_roller.rb, line 35
def roll_die(n)
  @roller.roll(n)
end