just_checkers 0.3.2 → 0.3.3
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/just_checkers/game_state.rb +25 -25
- data/lib/just_checkers/piece.rb +17 -10
- data/lib/just_checkers/square.rb +1 -1
- data/lib/just_checkers/square_set.rb +1 -1
- data/lib/just_checkers/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6a652941a37584d1c3448d3a904eaf7568a96c7d
|
4
|
+
data.tar.gz: 25df3f4619cefcffc64c38c6e2ccf0931d5fb4f3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2fc08be188d77cd15ae9e2a990e25e232cebda974ad3a5cd6ec57387878e0ec03c315e26cb18ab46e1b9923140e3ca7822c6aa6f488efb2268ac9f617aabeefd
|
7
|
+
data.tar.gz: cd2b521698896e634c979d39361c81fc68dfa7f160677587945a4aa834afa2bb0d9ae6937f223d41f8be95d59aeeadb50d01aeafdd43fe5b81f4167e05909fbd
|
@@ -24,7 +24,7 @@ module JustCheckers
|
|
24
24
|
# JustCheckers::GameState.new({
|
25
25
|
# current_player_number: 1,
|
26
26
|
# squares: [
|
27
|
-
# { x: 1, y: 0, piece: { player_number: 1,
|
27
|
+
# { x: 1, y: 0, piece: { player_number: 1, king: false }}
|
28
28
|
# ]
|
29
29
|
# })
|
30
30
|
def initialize(current_player_number: , squares: [])
|
@@ -53,20 +53,20 @@ module JustCheckers
|
|
53
53
|
new({
|
54
54
|
current_player_number: 1,
|
55
55
|
squares: [
|
56
|
-
{ id: 1, x: 1, y: 0, piece: {
|
57
|
-
{ id: 2, x: 3, y: 0, piece: {
|
58
|
-
{ id: 3, x: 5, y: 0, piece: {
|
59
|
-
{ id: 4, x: 7, y: 0, piece: {
|
56
|
+
{ id: 1, x: 1, y: 0, piece: { id: 1, player_number: 1, king: false }},
|
57
|
+
{ id: 2, x: 3, y: 0, piece: { id: 2, player_number: 1, king: false }},
|
58
|
+
{ id: 3, x: 5, y: 0, piece: { id: 3, player_number: 1, king: false }},
|
59
|
+
{ id: 4, x: 7, y: 0, piece: { id: 4, player_number: 1, king: false }},
|
60
60
|
|
61
|
-
{ id: 5, x: 0, y: 1, piece: {
|
62
|
-
{ id: 6, x: 2, y: 1, piece: {
|
63
|
-
{ id: 7, x: 4, y: 1, piece: {
|
64
|
-
{ id: 8, x: 6, y: 1, piece: {
|
61
|
+
{ id: 5, x: 0, y: 1, piece: { id: 5, player_number: 1, king: false }},
|
62
|
+
{ id: 6, x: 2, y: 1, piece: { id: 6, player_number: 1, king: false }},
|
63
|
+
{ id: 7, x: 4, y: 1, piece: { id: 7, player_number: 1, king: false }},
|
64
|
+
{ id: 8, x: 6, y: 1, piece: { id: 8, player_number: 1, king: false }},
|
65
65
|
|
66
|
-
{ id: 9, x: 1, y: 2, piece: {
|
67
|
-
{ id: 10, x: 3, y: 2, piece: {
|
68
|
-
{ id: 11, x: 5, y: 2, piece: {
|
69
|
-
{ id: 12, x: 7, y: 2, piece: {
|
66
|
+
{ id: 9, x: 1, y: 2, piece: { id: 9, player_number: 1, king: false }},
|
67
|
+
{ id: 10, x: 3, y: 2, piece: { id: 10, player_number: 1, king: false }},
|
68
|
+
{ id: 11, x: 5, y: 2, piece: { id: 11, player_number: 1, king: false }},
|
69
|
+
{ id: 12, x: 7, y: 2, piece: { id: 12, player_number: 1, king: false }},
|
70
70
|
|
71
71
|
{ id: 13, x: 0, y: 3, piece: nil },
|
72
72
|
{ id: 14, x: 2, y: 3, piece: nil },
|
@@ -78,20 +78,20 @@ module JustCheckers
|
|
78
78
|
{ id: 19, x: 5, y: 4, piece: nil },
|
79
79
|
{ id: 20, x: 7, y: 4, piece: nil },
|
80
80
|
|
81
|
-
{ id: 21, x: 0, y: 5, piece: {
|
82
|
-
{ id: 22, x: 2, y: 5, piece: {
|
83
|
-
{ id: 23, x: 4, y: 5, piece: {
|
84
|
-
{ id: 24, x: 6, y: 5, piece: {
|
81
|
+
{ id: 21, x: 0, y: 5, piece: { id: 13, player_number: 2, king: false }},
|
82
|
+
{ id: 22, x: 2, y: 5, piece: { id: 14, player_number: 2, king: false }},
|
83
|
+
{ id: 23, x: 4, y: 5, piece: { id: 15, player_number: 2, king: false }},
|
84
|
+
{ id: 24, x: 6, y: 5, piece: { id: 16, player_number: 2, king: false }},
|
85
85
|
|
86
|
-
{ id: 25, x: 1, y: 6, piece: {
|
87
|
-
{ id: 26, x: 3, y: 6, piece: {
|
88
|
-
{ id: 27, x: 5, y: 6, piece: {
|
89
|
-
{ id: 28, x: 7, y: 6, piece: {
|
86
|
+
{ id: 25, x: 1, y: 6, piece: { id: 17, player_number: 2, king: false }},
|
87
|
+
{ id: 26, x: 3, y: 6, piece: { id: 18, player_number: 2, king: false }},
|
88
|
+
{ id: 27, x: 5, y: 6, piece: { id: 19, player_number: 2, king: false }},
|
89
|
+
{ id: 28, x: 7, y: 6, piece: { id: 20, player_number: 2, king: false }},
|
90
90
|
|
91
|
-
{ id: 29, x: 0, y: 7, piece: {
|
92
|
-
{ id: 30, x: 2, y: 7, piece: {
|
93
|
-
{ id: 31, x: 4, y: 7, piece: {
|
94
|
-
{ id: 32, x: 6, y: 7, piece: {
|
91
|
+
{ id: 29, x: 0, y: 7, piece: { id: 21, player_number: 2, king: false }},
|
92
|
+
{ id: 30, x: 2, y: 7, piece: { id: 22, player_number: 2, king: false }},
|
93
|
+
{ id: 31, x: 4, y: 7, piece: { id: 23, player_number: 2, king: false }},
|
94
|
+
{ id: 32, x: 6, y: 7, piece: { id: 24, player_number: 2, king: false }}
|
95
95
|
]
|
96
96
|
})
|
97
97
|
end
|
data/lib/just_checkers/piece.rb
CHANGED
@@ -6,12 +6,12 @@ module JustCheckers
|
|
6
6
|
|
7
7
|
# New objects can be instantiated by passing in a hash with
|
8
8
|
#
|
9
|
+
# @param [Fixnum] id
|
10
|
+
# the unique id of the piece.
|
11
|
+
#
|
9
12
|
# @param [Fixnum] player_number
|
10
13
|
# the owner of the piece.
|
11
14
|
#
|
12
|
-
# @param [Fixnum] direction
|
13
|
-
# the direction forward on the board, 1 for moving down, -1 for moving up.
|
14
|
-
#
|
15
15
|
# @option [Boolean] king
|
16
16
|
# set to true if the piece has been crowned.
|
17
17
|
#
|
@@ -19,21 +19,20 @@ module JustCheckers
|
|
19
19
|
# # Instantiates a new Piece
|
20
20
|
# JustCheckers::Piece.new({
|
21
21
|
# player_number: 1,
|
22
|
-
# direction: 1,
|
23
22
|
# king: false
|
24
23
|
# })
|
25
|
-
def initialize(
|
24
|
+
def initialize(id: , player_number: , king: false)
|
25
|
+
@id = id
|
26
26
|
@player_number = player_number
|
27
|
-
@direction = direction
|
28
27
|
@king = king
|
29
28
|
end
|
30
29
|
|
30
|
+
# @return [Fixnum] the unique id of the piece.
|
31
|
+
attr_reader :id
|
32
|
+
|
31
33
|
# @return [Fixnum] the owner of the piece.
|
32
34
|
attr_reader :player_number
|
33
35
|
|
34
|
-
# @return [Fixnum] the direction forward on the board, 1 for moving down, -1 for moving up.
|
35
|
-
attr_reader :direction
|
36
|
-
|
37
36
|
# @return [Boolean] set to true if the piece has been crowned.
|
38
37
|
attr_reader :king
|
39
38
|
|
@@ -46,11 +45,19 @@ module JustCheckers
|
|
46
45
|
@king = true
|
47
46
|
end
|
48
47
|
|
48
|
+
|
49
|
+
# the direction forward on the board, 1 for moving down, -1 for moving up.
|
50
|
+
#
|
51
|
+
# @return [Fixnum]
|
52
|
+
def direction
|
53
|
+
@player_number == 1 ? 1 : -1
|
54
|
+
end
|
55
|
+
|
49
56
|
# returns a serialized piece as a hash
|
50
57
|
#
|
51
58
|
# @return [Hash]
|
52
59
|
def as_json
|
53
|
-
{
|
60
|
+
{ id: id, player_number: player_number, king: king }
|
54
61
|
end
|
55
62
|
end
|
56
63
|
end
|
data/lib/just_checkers/square.rb
CHANGED
@@ -20,7 +20,7 @@ module JustCheckers
|
|
20
20
|
# # Instantiates a new Square Set
|
21
21
|
# JustCheckers::SquareSet.new({
|
22
22
|
# squares: [
|
23
|
-
# { x: 1, y: 0, piece: { player_number: 1,
|
23
|
+
# { x: 1, y: 0, piece: { player_number: 1, king: false }}
|
24
24
|
# ]
|
25
25
|
# })
|
26
26
|
def initialize(squares: [])
|