chess_validator 0.2.4 → 0.2.5
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 -1
- data/lib/piece.rb +2 -2
- 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: bc4e4db78c99ebcedfafa450a0e4153e8356874196a28a60e769dda532a296eb
|
4
|
+
data.tar.gz: 6274fc54794fe98fc5ebb8da759e09429f7f8bbb65e182345df17fd7cb564407
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ce0c91b9ab1109e68364a5246a4b1a63841f142dfd8af958bdedf1ac15bc698faeec8fdb1c1f3ee2074495ae72f1aade09745ab265502ffa0799468a9180fa85
|
7
|
+
data.tar.gz: 6588469e32c28933cfb78671b39d9ea37ee4683eaddc070aa1fa62b9479caa2c9b39d2279cf0a8c229fd75229f77d1ace05d76b1aa6fe519916b264b3de4efb4
|
data/lib/move_logic.rb
CHANGED
@@ -19,7 +19,10 @@ module ChessValidator
|
|
19
19
|
|
20
20
|
def load_valid_moves(board, piece, fen)
|
21
21
|
moves_for_piece(piece).each do |move|
|
22
|
-
|
22
|
+
if valid_move?(piece, board, move, fen)
|
23
|
+
piece.valid_moves << move
|
24
|
+
piece.targets << board[INDEX_KEY[move]] if board[INDEX_KEY[move]]
|
25
|
+
end
|
23
26
|
end
|
24
27
|
end
|
25
28
|
|
data/lib/piece.rb
CHANGED
@@ -2,15 +2,15 @@ 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
|
5
|
+
attr_accessor :position, :piece_type, :color, :square_index, :valid_moves, :targets
|
6
6
|
|
7
7
|
def initialize(char, square_index)
|
8
8
|
@piece_type = char
|
9
9
|
@square_index = square_index
|
10
10
|
@color = get_color(char)
|
11
11
|
@position = get_position(square_index)
|
12
|
-
@enemy_targets = []
|
13
12
|
@valid_moves = []
|
13
|
+
@targets = []
|
14
14
|
end
|
15
15
|
|
16
16
|
def get_position(square_index)
|