blob: 3b6df484eb38ca5904fd4224913ef71f56427d44 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
module Dice
# @param sides [Integer]
# @return [Dice::Result]
def self.roll(sides)
result = Dice::Result.new
result.add_roll Dice::Roll.new(sides)
result
end
# @param formula [String]
def self.roll_formula(formula)
# Will add other delimiters later.
parts = formula.split("d")
if parts.length < 2
raise "Invalid formula: #{formula}"
end
num_dice = parts[0].empty? ? 1 : parts[0].to_i
sides = parts[1].to_i
result = Dice::Result.new
num_dice.times do
result.add_roll Dice::Roll.new(sides)
end
result
end
end
|