console-blackjack 1.0.2 → 1.0.7
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/Gemfile.lock +57 -52
- data/README.md +1 -2
- data/bj.txt +1 -1
- data/console-blackjack.gemspec +2 -2
- data/lib/blackjack/card.rb +5 -4
- data/lib/blackjack/shoe.rb +15 -26
- data/spec/factories/card_factory.rb +2 -2
- data/spec/lib/blackjack/card_spec.rb +3 -2
- data/spec/lib/blackjack/shoe_spec.rb +2 -2
- metadata +6 -6
- data/console-blackjack-1.0.1.gem +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a13818b9e5b9d157b766e6d85b71772de6e999f11a3d6f9887283234fc38e1ef
|
4
|
+
data.tar.gz: d323d6b39bc477bfa0d8649ba4589384256dacf614599b261b0eb19214fb6914
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 551f764d674ca224996464c49d5d1e12defe6578880798c9a6d8ae07fc4baf88ed72fff6ac500bf3516f895d76f3ec4aa185581c2a39914372ffad27a587b71b
|
7
|
+
data.tar.gz: ee9ba85aad2cf47fe4248b62110112934c229cdaa240cada8817cfb0905b2ce1aab6297f9330c1cbfda7a00107ba764a54fb2fe9094c36da848f7701b32d1282
|
data/Gemfile.lock
CHANGED
@@ -1,96 +1,101 @@
|
|
1
1
|
GEM
|
2
2
|
remote: https://rubygems.org/
|
3
3
|
specs:
|
4
|
-
activesupport (6.
|
4
|
+
activesupport (6.1.3.1)
|
5
5
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
6
|
-
i18n (>=
|
7
|
-
minitest (
|
8
|
-
tzinfo (~>
|
9
|
-
zeitwerk (~> 2.
|
10
|
-
ast (2.4.
|
11
|
-
coderay (1.1.
|
12
|
-
concurrent-ruby (1.1.
|
6
|
+
i18n (>= 1.6, < 2)
|
7
|
+
minitest (>= 5.1)
|
8
|
+
tzinfo (~> 2.0)
|
9
|
+
zeitwerk (~> 2.3)
|
10
|
+
ast (2.4.2)
|
11
|
+
coderay (1.1.3)
|
12
|
+
concurrent-ruby (1.1.8)
|
13
13
|
coveralls (0.7.1)
|
14
14
|
multi_json (~> 1.3)
|
15
15
|
rest-client
|
16
16
|
simplecov (>= 0.7)
|
17
17
|
term-ansicolor
|
18
18
|
thor
|
19
|
-
diff-lcs (1.
|
20
|
-
docile (1.3.
|
19
|
+
diff-lcs (1.4.4)
|
20
|
+
docile (1.3.5)
|
21
21
|
domain_name (0.5.20190701)
|
22
22
|
unf (>= 0.0.5, < 1.0.0)
|
23
|
-
factory_bot (
|
24
|
-
activesupport (>=
|
23
|
+
factory_bot (6.1.0)
|
24
|
+
activesupport (>= 5.0.0)
|
25
25
|
http-accept (1.7.0)
|
26
26
|
http-cookie (1.0.3)
|
27
27
|
domain_name (~> 0.5)
|
28
|
-
i18n (1.8.
|
28
|
+
i18n (1.8.10)
|
29
29
|
concurrent-ruby (~> 1.0)
|
30
|
-
jaro_winkler (1.5.4)
|
31
30
|
method_source (1.0.0)
|
32
31
|
mime-types (3.3.1)
|
33
32
|
mime-types-data (~> 3.2015)
|
34
|
-
mime-types-data (3.
|
35
|
-
minitest (5.14.
|
36
|
-
multi_json (1.
|
33
|
+
mime-types-data (3.2021.0225)
|
34
|
+
minitest (5.14.4)
|
35
|
+
multi_json (1.15.0)
|
37
36
|
netrc (0.11.0)
|
38
|
-
parallel (1.
|
39
|
-
parser (
|
40
|
-
ast (~> 2.4.
|
41
|
-
pry (0.
|
37
|
+
parallel (1.20.1)
|
38
|
+
parser (3.0.1.1)
|
39
|
+
ast (~> 2.4.1)
|
40
|
+
pry (0.14.1)
|
42
41
|
coderay (~> 1.1)
|
43
42
|
method_source (~> 1.0)
|
44
43
|
rainbow (3.0.0)
|
45
|
-
rake (13.0.
|
44
|
+
rake (13.0.3)
|
45
|
+
regexp_parser (2.1.1)
|
46
46
|
rest-client (2.1.0)
|
47
47
|
http-accept (>= 1.7.0, < 2.0)
|
48
48
|
http-cookie (>= 1.0.2, < 2.0)
|
49
49
|
mime-types (>= 1.16, < 4.0)
|
50
50
|
netrc (~> 0.8)
|
51
|
-
rexml (3.2.
|
52
|
-
rspec (3.
|
53
|
-
rspec-core (~> 3.
|
54
|
-
rspec-expectations (~> 3.
|
55
|
-
rspec-mocks (~> 3.
|
56
|
-
rspec-core (3.
|
57
|
-
rspec-support (~> 3.
|
58
|
-
rspec-expectations (3.
|
51
|
+
rexml (3.2.5)
|
52
|
+
rspec (3.10.0)
|
53
|
+
rspec-core (~> 3.10.0)
|
54
|
+
rspec-expectations (~> 3.10.0)
|
55
|
+
rspec-mocks (~> 3.10.0)
|
56
|
+
rspec-core (3.10.1)
|
57
|
+
rspec-support (~> 3.10.0)
|
58
|
+
rspec-expectations (3.10.1)
|
59
59
|
diff-lcs (>= 1.2.0, < 2.0)
|
60
|
-
rspec-support (~> 3.
|
61
|
-
rspec-mocks (3.
|
60
|
+
rspec-support (~> 3.10.0)
|
61
|
+
rspec-mocks (3.10.2)
|
62
62
|
diff-lcs (>= 1.2.0, < 2.0)
|
63
|
-
rspec-support (~> 3.
|
64
|
-
rspec-support (3.
|
65
|
-
rubocop (
|
66
|
-
jaro_winkler (~> 1.5.1)
|
63
|
+
rspec-support (~> 3.10.0)
|
64
|
+
rspec-support (3.10.2)
|
65
|
+
rubocop (1.13.0)
|
67
66
|
parallel (~> 1.10)
|
68
|
-
parser (>=
|
67
|
+
parser (>= 3.0.0.0)
|
69
68
|
rainbow (>= 2.2.2, < 4.0)
|
69
|
+
regexp_parser (>= 1.8, < 3.0)
|
70
70
|
rexml
|
71
|
+
rubocop-ast (>= 1.2.0, < 2.0)
|
71
72
|
ruby-progressbar (~> 1.7)
|
72
|
-
unicode-display_width (>= 1.4.0, <
|
73
|
-
rubocop-
|
74
|
-
|
75
|
-
|
76
|
-
|
73
|
+
unicode-display_width (>= 1.4.0, < 3.0)
|
74
|
+
rubocop-ast (1.5.0)
|
75
|
+
parser (>= 3.0.1.1)
|
76
|
+
rubocop-rspec (2.3.0)
|
77
|
+
rubocop (~> 1.0)
|
78
|
+
rubocop-ast (>= 1.1.0)
|
79
|
+
ruby-progressbar (1.11.0)
|
80
|
+
simplecov (0.21.2)
|
77
81
|
docile (~> 1.1)
|
78
82
|
simplecov-html (~> 0.11)
|
79
|
-
|
83
|
+
simplecov_json_formatter (~> 0.1)
|
84
|
+
simplecov-html (0.12.3)
|
85
|
+
simplecov_json_formatter (0.1.2)
|
80
86
|
sync (0.5.0)
|
81
87
|
term-ansicolor (1.7.1)
|
82
88
|
tins (~> 1.0)
|
83
|
-
thor (1.0
|
84
|
-
|
85
|
-
tins (1.24.1)
|
89
|
+
thor (1.1.0)
|
90
|
+
tins (1.28.0)
|
86
91
|
sync
|
87
|
-
tzinfo (
|
88
|
-
|
92
|
+
tzinfo (2.0.4)
|
93
|
+
concurrent-ruby (~> 1.0)
|
89
94
|
unf (0.1.4)
|
90
95
|
unf_ext
|
91
|
-
unf_ext (0.0.7.
|
92
|
-
unicode-display_width (
|
93
|
-
zeitwerk (2.
|
96
|
+
unf_ext (0.0.7.7)
|
97
|
+
unicode-display_width (2.0.0)
|
98
|
+
zeitwerk (2.4.2)
|
94
99
|
|
95
100
|
PLATFORMS
|
96
101
|
ruby
|
@@ -107,4 +112,4 @@ DEPENDENCIES
|
|
107
112
|
simplecov
|
108
113
|
|
109
114
|
BUNDLED WITH
|
110
|
-
2.
|
115
|
+
2.1.4
|
data/README.md
CHANGED
@@ -14,9 +14,8 @@ Run:
|
|
14
14
|
|
15
15
|
## Status
|
16
16
|
|
17
|
-
[](https://github.com/gdonald/console-blackjack-ruby/actions)
|
18
18
|
[](https://coveralls.io/github/gdonald/console-blackjack-ruby?branch=master)
|
19
|
-
[](https://codeclimate.com/github/gdonald/console-blackjack-ruby/maintainability)
|
20
19
|
[](https://rubygems.org/gems/console-blackjack)
|
21
20
|
|
22
21
|
## License
|
data/bj.txt
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1|
|
1
|
+
1|11000|500
|
data/console-blackjack.gemspec
CHANGED
@@ -4,8 +4,8 @@ require 'rake'
|
|
4
4
|
|
5
5
|
Gem::Specification.new do |spec|
|
6
6
|
spec.name = 'console-blackjack'
|
7
|
-
spec.version = '1.0.
|
8
|
-
spec.date = '
|
7
|
+
spec.version = '1.0.7'
|
8
|
+
spec.date = '2021-05-02'
|
9
9
|
spec.summary = 'Console Blackjack'
|
10
10
|
spec.description = 'Blackjack for your console, full version.'
|
11
11
|
spec.author = 'Greg Donald'
|
data/lib/blackjack/card.rb
CHANGED
@@ -1,15 +1,16 @@
|
|
1
|
+
# coding: utf-8
|
1
2
|
# frozen_string_literal: true
|
2
3
|
|
3
4
|
class Card
|
4
|
-
attr_reader :value, :
|
5
|
+
attr_reader :value, :suit
|
5
6
|
|
6
|
-
def initialize(value,
|
7
|
+
def initialize(value, suit)
|
7
8
|
@value = value
|
8
|
-
@
|
9
|
+
@suit = suit
|
9
10
|
end
|
10
11
|
|
11
12
|
def to_s
|
12
|
-
Card.faces[value][
|
13
|
+
Card.faces[value][suit]
|
13
14
|
end
|
14
15
|
|
15
16
|
def ace?
|
data/lib/blackjack/shoe.rb
CHANGED
@@ -26,11 +26,7 @@ class Shoe
|
|
26
26
|
cards_dealt = total_cards - cards.size
|
27
27
|
used = cards_dealt / total_cards.to_f * 100.0
|
28
28
|
|
29
|
-
Shoe.shuffle_specs
|
30
|
-
return true if used > spec.first && num_decks == spec.last
|
31
|
-
end
|
32
|
-
|
33
|
-
false
|
29
|
+
used > Shoe.shuffle_specs[num_decks - 1]
|
34
30
|
end
|
35
31
|
|
36
32
|
def shuffle
|
@@ -40,9 +36,9 @@ class Shoe
|
|
40
36
|
def new_regular
|
41
37
|
self.cards = []
|
42
38
|
num_decks.times do
|
43
|
-
(0..3).each do |
|
39
|
+
(0..3).each do |suit_value|
|
44
40
|
(0..12).each do |value|
|
45
|
-
cards << Card.new(value,
|
41
|
+
cards << Card.new(value, suit_value)
|
46
42
|
end
|
47
43
|
end
|
48
44
|
end
|
@@ -52,8 +48,8 @@ class Shoe
|
|
52
48
|
def new_aces
|
53
49
|
self.cards = []
|
54
50
|
(num_decks * 10).times do
|
55
|
-
(0..3).each do |
|
56
|
-
cards << Card.new(0,
|
51
|
+
(0..3).each do |suit_value|
|
52
|
+
cards << Card.new(0, suit_value)
|
57
53
|
end
|
58
54
|
end
|
59
55
|
shuffle
|
@@ -62,8 +58,8 @@ class Shoe
|
|
62
58
|
def new_jacks
|
63
59
|
self.cards = []
|
64
60
|
(num_decks * 10).times do
|
65
|
-
(0..3).each do |
|
66
|
-
cards << Card.new(10,
|
61
|
+
(0..3).each do |suit_value|
|
62
|
+
cards << Card.new(10, suit_value)
|
67
63
|
end
|
68
64
|
end
|
69
65
|
shuffle
|
@@ -72,9 +68,9 @@ class Shoe
|
|
72
68
|
def new_aces_jacks
|
73
69
|
self.cards = []
|
74
70
|
(num_decks * 10).times do
|
75
|
-
(0..3).each do |
|
76
|
-
cards << Card.new(0,
|
77
|
-
cards << Card.new(10,
|
71
|
+
(0..3).each do |suit_value|
|
72
|
+
cards << Card.new(0, suit_value)
|
73
|
+
cards << Card.new(10, suit_value)
|
78
74
|
end
|
79
75
|
end
|
80
76
|
shuffle
|
@@ -83,8 +79,8 @@ class Shoe
|
|
83
79
|
def new_sevens
|
84
80
|
self.cards = []
|
85
81
|
(num_decks * 10).times do
|
86
|
-
(0..3).each do |
|
87
|
-
cards << Card.new(6,
|
82
|
+
(0..3).each do |suit_value|
|
83
|
+
cards << Card.new(6, suit_value)
|
88
84
|
end
|
89
85
|
end
|
90
86
|
shuffle
|
@@ -93,8 +89,8 @@ class Shoe
|
|
93
89
|
def new_eights
|
94
90
|
self.cards = []
|
95
91
|
(num_decks * 10).times do
|
96
|
-
(0..3).each do |
|
97
|
-
cards << Card.new(7,
|
92
|
+
(0..3).each do |suit_value|
|
93
|
+
cards << Card.new(7, suit_value)
|
98
94
|
end
|
99
95
|
end
|
100
96
|
shuffle
|
@@ -105,13 +101,6 @@ class Shoe
|
|
105
101
|
end
|
106
102
|
|
107
103
|
def self.shuffle_specs
|
108
|
-
[
|
109
|
-
[92, 7],
|
110
|
-
[89, 6],
|
111
|
-
[86, 5],
|
112
|
-
[84, 4],
|
113
|
-
[82, 3],
|
114
|
-
[81, 2],
|
115
|
-
[80, 1]]
|
104
|
+
[80, 81, 82, 84, 86, 89, 92, 95]
|
116
105
|
end
|
117
106
|
end
|
@@ -3,7 +3,7 @@
|
|
3
3
|
FactoryBot.define do
|
4
4
|
factory :card do
|
5
5
|
value { 0 }
|
6
|
-
|
6
|
+
suit { 0 }
|
7
7
|
|
8
8
|
trait :ace do
|
9
9
|
value { 0 }
|
@@ -37,6 +37,6 @@ FactoryBot.define do
|
|
37
37
|
value { 9 }
|
38
38
|
end
|
39
39
|
|
40
|
-
initialize_with { new(value,
|
40
|
+
initialize_with { new(value, suit) }
|
41
41
|
end
|
42
42
|
end
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# coding: utf-8
|
1
2
|
# frozen_string_literal: true
|
2
3
|
|
3
4
|
RSpec.describe Card do
|
@@ -12,8 +13,8 @@ RSpec.describe Card do
|
|
12
13
|
expect(card.value).to eq(0)
|
13
14
|
end
|
14
15
|
|
15
|
-
it 'has a
|
16
|
-
expect(card.
|
16
|
+
it 'has a suit' do
|
17
|
+
expect(card.suit).to eq(0)
|
17
18
|
end
|
18
19
|
end
|
19
20
|
|
@@ -157,8 +157,8 @@ RSpec.describe Shoe do
|
|
157
157
|
end
|
158
158
|
|
159
159
|
describe '.shuffle_specs' do
|
160
|
-
it 'returns when to shuffle' do
|
161
|
-
expect(described_class.shuffle_specs
|
160
|
+
it 'returns spec for when to shuffle' do
|
161
|
+
expect(described_class.shuffle_specs).to eq([80, 81, 82, 84, 86, 89, 92, 95])
|
162
162
|
end
|
163
163
|
end
|
164
164
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: console-blackjack
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Greg Donald
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-05-02 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Blackjack for your console, full version.
|
14
14
|
email: gdonald@gmail.com
|
@@ -25,7 +25,6 @@ files:
|
|
25
25
|
- bin/console-blackjack
|
26
26
|
- bj.png
|
27
27
|
- bj.txt
|
28
|
-
- console-blackjack-1.0.1.gem
|
29
28
|
- console-blackjack.gemspec
|
30
29
|
- lib/blackjack.rb
|
31
30
|
- lib/blackjack/card.rb
|
@@ -76,8 +75,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
76
75
|
- !ruby/object:Gem::Version
|
77
76
|
version: '0'
|
78
77
|
requirements: []
|
79
|
-
rubygems_version: 3.
|
80
|
-
signing_key:
|
78
|
+
rubygems_version: 3.1.6
|
79
|
+
signing_key:
|
81
80
|
specification_version: 4
|
82
81
|
summary: Console Blackjack
|
83
82
|
test_files: []
|
83
|
+
...
|
data/console-blackjack-1.0.1.gem
DELETED
Binary file
|