dice_controller.rb 333 B

1234567891011121314151617181920
  1. class DiceController
  2. def self.roll(die)
  3. case die
  4. when String
  5. match = /([0-9]*?)d([0-9]+)/.match(die)
  6. num = match[1].to_i || 1
  7. sides = match[2].to_i
  8. num = 1 if num == 0
  9. r = 0
  10. num.times do
  11. r += rand(1 .. sides)
  12. end
  13. r
  14. when Array
  15. die.sample
  16. end
  17. end
  18. end