super_dice 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
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: []