chess_validator 0.2.6 → 0.2.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/move_logic.rb +4 -2
- data/lib/piece.rb +2 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: dd3f2cad57966c643d696d8bb68171a0cf27679bfe7fdb739f8d3589466c5e88
|
4
|
+
data.tar.gz: 2d2b3cc9cae6431993bd56aa324452937d558513c1126c8e7a4698c36d772fd3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 328b9b02ec47e28e76be803bc7827973cdea91c781d3c9aa8002b86bdddb8d71325221771e967fecbe38214ffeef4d5f3914d6e49f4c5901accc0a80d3141f64
|
7
|
+
data.tar.gz: 54f0ca885165fb91f51fe313f06916ad1c8313841c8682ce0d5d26a0c470427bab43008810dfd6f44b7a4d22496fa97741614fce4fae6c06db77b9f6f72fc3ca
|
data/lib/move_logic.rb
CHANGED
@@ -9,7 +9,7 @@ module ChessValidator
|
|
9
9
|
pieces = []
|
10
10
|
board.values.each do |piece|
|
11
11
|
if piece.color == fen.active
|
12
|
-
|
12
|
+
load_move_data(board, piece, fen)
|
13
13
|
pieces << piece if piece.valid_moves.size > 0
|
14
14
|
end
|
15
15
|
end
|
@@ -17,12 +17,14 @@ module ChessValidator
|
|
17
17
|
pieces
|
18
18
|
end
|
19
19
|
|
20
|
-
def
|
20
|
+
def load_move_data(board, piece, fen)
|
21
21
|
moves_for_piece(piece).each do |move|
|
22
22
|
if valid_move?(piece, board, move, fen)
|
23
23
|
piece.valid_moves << move
|
24
24
|
target = find_target(board, piece, move)
|
25
25
|
piece.targets << target if target
|
26
|
+
else
|
27
|
+
piece.move_potential << move
|
26
28
|
end
|
27
29
|
end
|
28
30
|
end
|
data/lib/piece.rb
CHANGED
@@ -2,7 +2,7 @@ require_relative './constants/move_key'
|
|
2
2
|
|
3
3
|
module ChessValidator
|
4
4
|
class Piece
|
5
|
-
attr_accessor :position, :piece_type, :color, :square_index, :valid_moves, :targets
|
5
|
+
attr_accessor :position, :piece_type, :color, :square_index, :valid_moves, :targets, :move_potential
|
6
6
|
|
7
7
|
def initialize(char, square_index)
|
8
8
|
@piece_type = char
|
@@ -11,6 +11,7 @@ module ChessValidator
|
|
11
11
|
@position = get_position(square_index)
|
12
12
|
@valid_moves = []
|
13
13
|
@targets = []
|
14
|
+
@move_potential = []
|
14
15
|
end
|
15
16
|
|
16
17
|
def get_position(square_index)
|