Skip to content

Instantly share code, notes, and snippets.

@kejadlen
Created July 28, 2012 01:54
Show Gist options
  • Save kejadlen/3191420 to your computer and use it in GitHub Desktop.
Save kejadlen/3191420 to your computer and use it in GitHub Desktop.
$ ./roll 2d6 + 3d4
2d6 7 2, 5
3d4 11 3, 4, 4
18
$ ./roll 2d6 + 3d4
2d6 5 4, 1
3d4 6 3, 1, 2
11
$ ./roll 2d6 + 3d4
2d6 5 4, 1
3d4 9 4, 2, 3
14
#!/usr/bin/env ruby
puts eval(ARGV.join.gsub(/(\d+)d(\d+)/) {|s|
rolls = $1.to_i.times.map { rand($2.to_i) + 1 }
sum = rolls.inject {|n,i| n + i }
puts "#{s}\t#{sum}\t#{rolls.join(', ')}"
sum
})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment