acpc_poker_types 7.7.0 → 7.7.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/lib/acpc_poker_types/match_state.rb +19 -11
- data/lib/acpc_poker_types/version.rb +1 -1
- data/spec/match_state_spec.rb +9 -4
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4cf5ffad4ea43776a575dc0be0eaa6c13cd4d872
|
4
|
+
data.tar.gz: 575b3b5dd27cdf6824e547aab132e03c19a5d17b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7df9f5b36f3d112561ab93ee04ebe59cb69bddc15352f04863ca680aba185af9463d8fe5fbf6007571393b0d80682dfbd3f7f0acfd0babbcc2d73bbec5baa232
|
7
|
+
data.tar.gz: e97268914f445e120fc4aa56bb3b48e94c3076f9aa979ac6d512a37bdb81b140b135933b70b64710a4b1b003af476275fda473e241936432030ec286f4b64e6e
|
@@ -59,6 +59,10 @@ class MatchState < DelegateClass(String)
|
|
59
59
|
|
60
60
|
attr_reader :winning_players
|
61
61
|
|
62
|
+
# @return [Array<Float> or nil] The stack sizes at the beginning of the
|
63
|
+
# current hand, or +nil+ if none were specified by the match state string.
|
64
|
+
attr_reader :stack_sizes
|
65
|
+
|
62
66
|
# @return [String] Label for match state strings.
|
63
67
|
LABEL = 'MATCHSTATE'
|
64
68
|
|
@@ -92,28 +96,32 @@ class MatchState < DelegateClass(String)
|
|
92
96
|
board_cards,
|
93
97
|
stack_sizes = nil
|
94
98
|
)
|
95
|
-
string = "#{LABEL}#{FIELD_SEPARATOR}#{position_relative_to_dealer}#{FIELD_SEPARATOR}#{hand_number}
|
96
|
-
string << "/#{board_cards.to_s}" if board_cards && !board_cards.empty?
|
99
|
+
string = "#{LABEL}#{FIELD_SEPARATOR}#{position_relative_to_dealer}#{FIELD_SEPARATOR}#{hand_number}"
|
97
100
|
if stack_sizes
|
98
101
|
string << "#{FIELD_SEPARATOR}#{stack_sizes.map { |stack| format('%g', stack) }.join('|')}"
|
99
102
|
end
|
103
|
+
string << "#{FIELD_SEPARATOR}#{betting_sequence}#{FIELD_SEPARATOR}#{all_hole_cards}"
|
104
|
+
string << "/#{board_cards.to_s}" if board_cards && !board_cards.empty?
|
100
105
|
string
|
101
106
|
end
|
102
107
|
|
103
108
|
# @param [String] raw_match_state A raw match state string to be parsed.
|
104
109
|
# @raise IncompleteMatchState
|
105
110
|
def initialize(raw_match_state, previous_state = nil, game_def = nil)
|
106
|
-
fields = raw_match_state.split(FIELD_SEPARATOR)
|
107
|
-
@position_relative_to_dealer = fields
|
108
|
-
@hand_number = fields
|
109
|
-
|
110
|
-
|
111
|
+
fields = raw_match_state.split(FIELD_SEPARATOR)[1..-1]
|
112
|
+
@position_relative_to_dealer = fields.shift.to_i
|
113
|
+
@hand_number = fields.shift.to_i
|
114
|
+
|
115
|
+
@stack_sizes = if (
|
116
|
+
fields.length > 2 &&
|
117
|
+
fields.first.count(HAND_SEPARATOR) > 0
|
118
|
+
) then fields.shift.split(HAND_SEPARATOR).map(&:to_f) end
|
119
|
+
|
120
|
+
@betting_sequence_string = fields.shift
|
121
|
+
|
122
|
+
card_fields = fields.shift.split(COMMUNITY_CARD_SEPARATOR)
|
111
123
|
@hands_string = card_fields.shift
|
112
124
|
@community_cards_string = card_fields.join('/')
|
113
|
-
@stack_sizes = nil
|
114
|
-
if fields.length > 5 && fields[5].count(HAND_SEPARATOR) > 0
|
115
|
-
@stack_sizes = fields[5].split(HAND_SEPARATOR).map(&:to_f)
|
116
|
-
end
|
117
125
|
|
118
126
|
@winning_players = nil
|
119
127
|
@str = nil
|
data/spec/match_state_spec.rb
CHANGED
@@ -130,10 +130,15 @@ describe MatchState do
|
|
130
130
|
|
131
131
|
stacks = [9001, 222]
|
132
132
|
|
133
|
-
match_state =
|
134
|
-
|
135
|
-
|
136
|
-
|
133
|
+
match_state = (
|
134
|
+
partial_match_state +
|
135
|
+
stacks.map(&:to_s).join('|') +
|
136
|
+
":" +
|
137
|
+
betting +
|
138
|
+
":" +
|
139
|
+
hands +
|
140
|
+
community_cards
|
141
|
+
)
|
137
142
|
|
138
143
|
test_match_state_success match_state
|
139
144
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: acpc_poker_types
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 7.7.
|
4
|
+
version: 7.7.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dustin Morrill
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-01-
|
11
|
+
date: 2017-01-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: process_runner
|