super_dice 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/lib/super_dice.rb +49 -0
- metadata +57 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: f9dfa2940223cf437abd4cf40f3980a56104b259f0267bffc8f85694830c9829
|
4
|
+
data.tar.gz: 4bcc4c8b16023d21ecd6d6d5e80c41b99b05e8c104f299b923dfd01b6dc0217c
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 8a5c937e15474acf34be1bfb557450f91c738967cdcfc128b1a5d370412b2de9838e1d565e5adb39fedbfbf957d39b20af72483a81457398dd551aa478dfdd8f
|
7
|
+
data.tar.gz: 31001fb24c11cdda6cf93c49daca8eafd37feb5825e5c9cd57bab32c0927664fe9020605ee2e1f779bb303b2e73da4aeb2301eb3b78014ae40e89ad6241dd852
|
data/lib/super_dice.rb
ADDED
@@ -0,0 +1,49 @@
|
|
1
|
+
class SuperDice
|
2
|
+
|
3
|
+
def self.roll dice_info, return_arr=false
|
4
|
+
num_dice = self.get_number_of_dice dice_info
|
5
|
+
num_sides = self.get_number_of_sides dice_info
|
6
|
+
modifier = self.get_modifier dice_info
|
7
|
+
|
8
|
+
rolls = []
|
9
|
+
|
10
|
+
num_dice.times do
|
11
|
+
actual_roll = 1 + rand(num_sides)
|
12
|
+
rolls << actual_roll
|
13
|
+
end
|
14
|
+
|
15
|
+
|
16
|
+
if return_arr
|
17
|
+
rolls
|
18
|
+
return rolls << modifier
|
19
|
+
else
|
20
|
+
sum = 0
|
21
|
+
rolls.each {|roll| sum += roll }
|
22
|
+
return sum + modifier
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
private
|
27
|
+
|
28
|
+
def self.get_number_of_dice dice_info
|
29
|
+
dice_info.split('d')[0].to_i
|
30
|
+
end
|
31
|
+
|
32
|
+
def self.get_number_of_sides dice_info
|
33
|
+
dice_info.split('d')[1].split('+')[1].to_i
|
34
|
+
end
|
35
|
+
|
36
|
+
def self.get_modifier dice_info
|
37
|
+
if dice_info.include? '+'
|
38
|
+
modifier = 0 - dice_info.split('d')[1].split('+')[1].to_i
|
39
|
+
elsif dice_info.include? '-'
|
40
|
+
modifier = 0 - dice_info.split('d')[1].split('-')[1].to_i
|
41
|
+
else
|
42
|
+
modifier = 0
|
43
|
+
|
44
|
+
end
|
45
|
+
modifier
|
46
|
+
end
|
47
|
+
|
48
|
+
|
49
|
+
end
|
metadata
ADDED
@@ -0,0 +1,57 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: super_dice
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Cody Goeken
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2019-08-21 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: rspec
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '3.7'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '3.7'
|
27
|
+
description: long dice description
|
28
|
+
email: codygoeken@gmail.com
|
29
|
+
executables: []
|
30
|
+
extensions: []
|
31
|
+
extra_rdoc_files: []
|
32
|
+
files:
|
33
|
+
- lib/super_dice.rb
|
34
|
+
homepage:
|
35
|
+
licenses:
|
36
|
+
- MIT
|
37
|
+
metadata: {}
|
38
|
+
post_install_message:
|
39
|
+
rdoc_options: []
|
40
|
+
require_paths:
|
41
|
+
- lib
|
42
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
43
|
+
requirements:
|
44
|
+
- - ">="
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: '0'
|
47
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
48
|
+
requirements:
|
49
|
+
- - ">="
|
50
|
+
- !ruby/object:Gem::Version
|
51
|
+
version: '0'
|
52
|
+
requirements: []
|
53
|
+
rubygems_version: 3.0.3
|
54
|
+
signing_key:
|
55
|
+
specification_version: 4
|
56
|
+
summary: super dice summary
|
57
|
+
test_files: []
|