just_backgammon 1.0.2 → 1.1.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.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f9701bd389d703e4e3490389aca7cfa461ae8423ac1637cdab665b1c45ba8ac0
|
4
|
+
data.tar.gz: e8b8d3772b4e6d2f1f79985710786c775fcf7b0dd9925b7a8d993c4714b32b1e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6cbd24b890137042e410895ca3d7f5d1941dd307d8b64201c945bd7e16dfa194f205a6149ea5684db8740c864607913611b7858550f1a6e344b9926f8feda544
|
7
|
+
data.tar.gz: 858e12df9646c17baf8b09558c8db8a171ff32fc204a115fc2c38c52bd60b4203555cb2f6fbbef1c1fe8c17156c0289a0ac64ff20320328e54836716007d3d77
|
data/lib/just_backgammon/bar.rb
CHANGED
@@ -19,7 +19,7 @@ module JustBackgammon
|
|
19
19
|
# ==== Example:
|
20
20
|
# # Instantiates a new Bar
|
21
21
|
# JustBackgammon::Bar.new({
|
22
|
-
# pieces: [{
|
22
|
+
# pieces: [{player_number: 1}, {player_number: 1}]
|
23
23
|
# })
|
24
24
|
def initialize(pieces:)
|
25
25
|
@pieces = JustBackgammon::Piece.load(pieces)
|
@@ -44,7 +44,7 @@ module JustBackgammon
|
|
44
44
|
#
|
45
45
|
# @return [Array<Piece>]
|
46
46
|
def pieces_owned_by_player(player_number)
|
47
|
-
pieces.select { |p| p.
|
47
|
+
pieces.select { |p| p.player_number == player_number }
|
48
48
|
end
|
49
49
|
|
50
50
|
# Number of pieces owned by the specified player.
|
@@ -84,7 +84,7 @@ module JustBackgammon
|
|
84
84
|
#
|
85
85
|
# @return [Piece,NilClass]
|
86
86
|
def pop(player_number)
|
87
|
-
p = pieces.find { |p| p.
|
87
|
+
p = pieces.find { |p| p.player_number == player_number }
|
88
88
|
pieces.delete(p)
|
89
89
|
end
|
90
90
|
|
@@ -105,4 +105,4 @@ module JustBackgammon
|
|
105
105
|
{ pieces: pieces.map(&:as_json) }
|
106
106
|
end
|
107
107
|
end
|
108
|
-
end
|
108
|
+
end
|
@@ -64,7 +64,7 @@ module JustBackgammon
|
|
64
64
|
# pieces: [],
|
65
65
|
# },
|
66
66
|
# points: [
|
67
|
-
# { number: 1, pieces: [{
|
67
|
+
# { number: 1, pieces: [{player_number: 1}, {player_number: 1}] },
|
68
68
|
# { number: 2, pieces: [] }
|
69
69
|
# ],
|
70
70
|
# off_board: {
|
@@ -95,33 +95,33 @@ module JustBackgammon
|
|
95
95
|
],
|
96
96
|
bar: { pieces: [] },
|
97
97
|
points: [
|
98
|
-
{ number: 1, pieces: [{id: 1,
|
98
|
+
{ number: 1, pieces: [{id: 1, player_number: 1}, {id: 2, player_number: 1}] },
|
99
99
|
{ number: 2, pieces: [] },
|
100
100
|
{ number: 3, pieces: [] },
|
101
101
|
{ number: 4, pieces: [] },
|
102
102
|
{ number: 5, pieces: [] },
|
103
|
-
{ number: 6, pieces: [{id: 3,
|
103
|
+
{ number: 6, pieces: [{id: 3, player_number: 2}, {id: 4, player_number: 2}, {id: 5, player_number: 2}, {id: 6, player_number: 2}, {id: 7, player_number: 2}] },
|
104
104
|
|
105
105
|
{ number: 7, pieces: [] },
|
106
|
-
{ number: 8, pieces: [{id: 8,
|
106
|
+
{ number: 8, pieces: [{id: 8, player_number: 2}, {id: 9, player_number: 2}, {id: 10, player_number: 2}] },
|
107
107
|
{ number: 9, pieces: [] },
|
108
108
|
{ number: 10, pieces: [] },
|
109
109
|
{ number: 11, pieces: [] },
|
110
|
-
{ number: 12, pieces: [{id: 11,
|
110
|
+
{ number: 12, pieces: [{id: 11, player_number: 1}, {id: 12, player_number: 1}, {id: 13, player_number: 1}, {id: 14, player_number: 1}, {id: 15, player_number: 1}] },
|
111
111
|
|
112
|
-
{ number: 13, pieces: [{id: 16,
|
112
|
+
{ number: 13, pieces: [{id: 16, player_number: 2}, {id: 17, player_number: 2}, {id: 18, player_number: 2}, {id: 19, player_number: 2}, {id: 20, player_number: 2}] },
|
113
113
|
{ number: 14, pieces: [] },
|
114
114
|
{ number: 15, pieces: [] },
|
115
115
|
{ number: 16, pieces: [] },
|
116
|
-
{ number: 17, pieces: [{id: 21,
|
116
|
+
{ number: 17, pieces: [{id: 21, player_number: 1}, {id: 22, player_number: 1}, {id: 23, player_number: 1}] },
|
117
117
|
{ number: 18, pieces: [] },
|
118
118
|
|
119
|
-
{ number: 19, pieces: [{id: 24,
|
119
|
+
{ number: 19, pieces: [{id: 24, player_number: 1}, {id: 25, player_number: 1}, {id: 26, player_number: 1}, {id: 27, player_number: 1}, {id: 28, player_number: 1}] },
|
120
120
|
{ number: 20, pieces: [] },
|
121
121
|
{ number: 21, pieces: [] },
|
122
122
|
{ number: 22, pieces: [] },
|
123
123
|
{ number: 23, pieces: [] },
|
124
|
-
{ number: 24, pieces: [{id: 29,
|
124
|
+
{ number: 24, pieces: [{id: 29, player_number: 2}, {id: 30, player_number: 2}] },
|
125
125
|
],
|
126
126
|
off_board: { pieces: [] }
|
127
127
|
)
|
@@ -11,18 +11,18 @@ module JustBackgammon
|
|
11
11
|
# A new instance of OffBoard.
|
12
12
|
#
|
13
13
|
# @param [Array<Hash>] pieces
|
14
|
-
# All the pieces off board, each piece has an
|
14
|
+
# All the pieces off board, each piece has an player_number.
|
15
15
|
#
|
16
16
|
# ==== Example:
|
17
17
|
# # Instantiates a new OffBoard
|
18
18
|
# JustBackgammon::OffBoard.new({
|
19
|
-
# pieces: [{
|
19
|
+
# pieces: [{player_number: 1}, {player_number: 1}]
|
20
20
|
# })
|
21
21
|
def initialize(pieces:)
|
22
22
|
@pieces = Piece.load(pieces)
|
23
23
|
end
|
24
24
|
|
25
|
-
# @return [Array<Piece>] all the pieces on the bar, each piece has an
|
25
|
+
# @return [Array<Piece>] all the pieces on the bar, each piece has an player_number
|
26
26
|
attr_reader :pieces
|
27
27
|
|
28
28
|
# The identifier of the bar, returns the string 'bar'.
|
@@ -39,7 +39,7 @@ module JustBackgammon
|
|
39
39
|
#
|
40
40
|
# @return [Array<Piece>]
|
41
41
|
def pieces_owned_by_player(player_number)
|
42
|
-
pieces.select { |p| p.
|
42
|
+
pieces.select { |p| p.player_number == player_number }
|
43
43
|
end
|
44
44
|
|
45
45
|
# Number of pieces owned by the specified player.
|
@@ -13,28 +13,28 @@ module JustBackgammon
|
|
13
13
|
# @param [Fixnum] id
|
14
14
|
# The identifier of the piece.
|
15
15
|
#
|
16
|
-
# @param [Fixnum]
|
16
|
+
# @param [Fixnum] player_number
|
17
17
|
# The owner of the piece.
|
18
18
|
#
|
19
19
|
# ==== Example:
|
20
20
|
# # Instantiates a new Piece
|
21
|
-
# JustBackgammon::Piece.new(id: 1,
|
22
|
-
def initialize(id: ,
|
21
|
+
# JustBackgammon::Piece.new(id: 1, player_number: 1)
|
22
|
+
def initialize(id: , player_number:)
|
23
23
|
@id = id
|
24
|
-
@
|
24
|
+
@player_number = player_number
|
25
25
|
end
|
26
26
|
|
27
27
|
# @return [Fixnum] the identifier of the piece.
|
28
28
|
attr_reader :id
|
29
29
|
|
30
30
|
# @return [Fixnum] the owner of the piece
|
31
|
-
attr_reader :
|
31
|
+
attr_reader :player_number
|
32
32
|
|
33
33
|
# A hashed serialized representation of the piece.
|
34
34
|
#
|
35
35
|
# @return [Hash]
|
36
36
|
def as_json
|
37
|
-
{ id: id,
|
37
|
+
{ id: id, player_number: player_number }
|
38
38
|
end
|
39
39
|
end
|
40
|
-
end
|
40
|
+
end
|
@@ -22,7 +22,7 @@ module JustBackgammon
|
|
22
22
|
# ==== Example:
|
23
23
|
# # Instantiates a new Point
|
24
24
|
# JustBackgammon::Point.new({
|
25
|
-
# pieces: [{
|
25
|
+
# pieces: [{player_number: 1}, {player_number: 1}],
|
26
26
|
# number: 1
|
27
27
|
# })
|
28
28
|
def initialize(pieces: , number:)
|
@@ -57,14 +57,14 @@ module JustBackgammon
|
|
57
57
|
#
|
58
58
|
# @return [Boolean]
|
59
59
|
def owned_by_player?(player_number)
|
60
|
-
pieces.any? { |p| p.
|
60
|
+
pieces.any? { |p| p.player_number == player_number }
|
61
61
|
end
|
62
62
|
|
63
63
|
# Checks if point has pieces owned by the opponent of the specified player.
|
64
64
|
#
|
65
65
|
# @return [Boolean]
|
66
66
|
def owned_by_opponent?(player_number)
|
67
|
-
pieces.any? { |p| p.
|
67
|
+
pieces.any? { |p| p.player_number != player_number }
|
68
68
|
end
|
69
69
|
|
70
70
|
# Checks if point has more than one piece.
|
@@ -106,4 +106,4 @@ module JustBackgammon
|
|
106
106
|
{ number: number, pieces: pieces.map(&:as_json) }
|
107
107
|
end
|
108
108
|
end
|
109
|
-
end
|
109
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: just_backgammon
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mark Humphreys
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-06-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|