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.
Files changed (3) hide show
  1. checksums.yaml +7 -0
  2. data/lib/super_dice.rb +49 -0
  3. metadata +57 -0
@@ -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
@@ -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: []