bowling_score_keeper 0.2.0 → 0.2.1
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 +4 -4
- data/README.md +8 -1
- data/bin/bsk +6 -0
- data/bowling_score_keeper.gemspec +1 -1
- data/lib/bowling_score_keeper.rb +26 -28
- data/lib/bowling_score_keeper/version.rb +1 -1
- data/todo.txt +0 -1
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 649ff8adb62941a64912e661116d89d50d9d14fc
|
4
|
+
data.tar.gz: d07402b03135b22eefe1ef957636a626f0f38620
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: be018618899c5ce374dbddb6db399dbdedd06f03c8da6341fca8048573323f973c811f61665a2ca62d1bafcc5260e6a9686a055f3fe9a9a777038686030ab5b8
|
7
|
+
data.tar.gz: 93dea91428889314a8bf25f994efd2e6558f91bb4214482ee0564c7991c5264fc361259f14de8f1108473ffb61cf85034186b91ae95d2a762da730a3963ddc4f
|
data/README.md
CHANGED
@@ -8,9 +8,16 @@ Basic implementation of a bowling game score keeper.
|
|
8
8
|
|
9
9
|
## Usage
|
10
10
|
|
11
|
-
Start the gem from the command line with:
|
11
|
+
Start the gem from the command line with:
|
12
|
+
|
12
13
|
$ bowling_score_keeper
|
13
14
|
|
15
|
+
or
|
16
|
+
|
17
|
+
$ bsk
|
18
|
+
|
19
|
+
and follow the on-screen instructions.
|
20
|
+
|
14
21
|
|
15
22
|
## Development
|
16
23
|
|
data/bin/bsk
ADDED
@@ -19,7 +19,7 @@ Gem::Specification.new do |spec|
|
|
19
19
|
f.match(%r{^(test|spec|features)/})
|
20
20
|
end
|
21
21
|
spec.bindir = "bin"
|
22
|
-
spec.executables = ["bowling_score_keeper"]
|
22
|
+
spec.executables = ["bowling_score_keeper", "bsk"]
|
23
23
|
spec.require_paths = ["lib"]
|
24
24
|
|
25
25
|
spec.add_development_dependency "bundler", "~> 1.15"
|
data/lib/bowling_score_keeper.rb
CHANGED
@@ -21,31 +21,37 @@ class BowlingScoreKeeper
|
|
21
21
|
end
|
22
22
|
|
23
23
|
def score
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
first_in_frame
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
24
|
+
begin
|
25
|
+
score = 0
|
26
|
+
first_in_frame = 0
|
27
|
+
|
28
|
+
10.times do
|
29
|
+
if(strike?(first_in_frame))
|
30
|
+
score += MAX_ROLL_POINTS +
|
31
|
+
@rolls[first_in_frame + 1] +
|
32
|
+
@rolls[first_in_frame + 2]
|
33
|
+
first_in_frame += 1
|
34
|
+
elsif(spare?(first_in_frame))
|
35
|
+
score += MAX_ROLL_POINTS + @rolls[first_in_frame + 2]
|
36
|
+
first_in_frame += 2
|
37
|
+
else
|
38
|
+
score += @rolls[first_in_frame] + @rolls[first_in_frame + 1]
|
39
|
+
first_in_frame += 2
|
40
|
+
end
|
41
41
|
end
|
42
|
-
end
|
43
42
|
|
44
|
-
|
43
|
+
score
|
44
|
+
rescue
|
45
|
+
'incomplete'
|
46
|
+
end
|
45
47
|
end
|
46
48
|
|
47
49
|
private
|
48
50
|
|
51
|
+
def print_score
|
52
|
+
puts "Your score is #{score}"
|
53
|
+
end
|
54
|
+
|
49
55
|
def set_name
|
50
56
|
@name = ''
|
51
57
|
while @name.empty?
|
@@ -63,7 +69,7 @@ class BowlingScoreKeeper
|
|
63
69
|
|
64
70
|
case @value
|
65
71
|
when 'score'
|
66
|
-
|
72
|
+
print_score
|
67
73
|
when 'exit'
|
68
74
|
print "Congratulation #{@name},"
|
69
75
|
puts "You finished the game with a score of: #{score}"
|
@@ -84,12 +90,4 @@ class BowlingScoreKeeper
|
|
84
90
|
def strike?(first_in_frame)
|
85
91
|
@rolls[first_in_frame] == MAX_ROLL_POINTS
|
86
92
|
end
|
87
|
-
|
88
|
-
def too_few_rolls
|
89
|
-
@rolls.size <= 3
|
90
|
-
end
|
91
|
-
|
92
|
-
def score_for_too_few_rolls
|
93
|
-
@rolls.inject(0) { |s, e| s + e }
|
94
|
-
end
|
95
93
|
end
|
@@ -1 +1 @@
|
|
1
|
-
VERSION = "0.2.
|
1
|
+
VERSION = "0.2.1"
|
data/todo.txt
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bowling_score_keeper
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mugur (Bud) Chirica
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-06-
|
11
|
+
date: 2017-06-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -85,6 +85,7 @@ email:
|
|
85
85
|
- chirica.mugurel@gmail.com
|
86
86
|
executables:
|
87
87
|
- bowling_score_keeper
|
88
|
+
- bsk
|
88
89
|
extensions: []
|
89
90
|
extra_rdoc_files: []
|
90
91
|
files:
|
@@ -98,6 +99,7 @@ files:
|
|
98
99
|
- README.md
|
99
100
|
- Rakefile
|
100
101
|
- bin/bowling_score_keeper
|
102
|
+
- bin/bsk
|
101
103
|
- bin/console
|
102
104
|
- bin/setup
|
103
105
|
- bowling_score_keeper.gemspec
|