chess_validator 0.2.15 → 0.2.16

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 755cc8b1ad78feff8ad130c8a3e5c11803263d8ccf41db3ec1c67fa7a08427aa
4
- data.tar.gz: b926a815e705bda86df14da9269533229c76c36d2bc0301a5c18200d5cf1e9f4
3
+ metadata.gz: 418ecd1a9c987d472710309ee4b439823aca959f0db13354eaf760e3374d5cc6
4
+ data.tar.gz: 4b8fe686866e3364878b44ef069ad03810692bbfb8a8910c989c569289e05574
5
5
  SHA512:
6
- metadata.gz: 9bc14f5b3a08834a3a80da545fcd9612a5624ff6f869918dc6d1a4798320708034a0120d2c6b9509f9746f532dbfdfeccf4f0c8ae07d28e05bf3084345aff996
7
- data.tar.gz: ab77aa9915b79663a765596d3f31bb792363feb393e49b618a1c35c5ab46cdac5591cd60a8c781f2bb4449f9e82d2de799eafafe3bcb7456cfcf5fb5b76b5b44
6
+ metadata.gz: 4f6ec9b723c3bd3b66dc0af59e4c85c6465601db1c1844137065b66d5eac3d5ff403137dfbb079030223697cda04e08529c3a3adbe05832bae9e72aa57bb839c
7
+ data.tar.gz: 8cd9b541308f86db409b66e8a1b36967af5ac0b081ee536cce34ca6cd928b7810b0eef44f07cfe6832767ddad8da4dfd247ef780d15d0a04bf8a00e599e65512
@@ -17,18 +17,18 @@ module ChessValidator
17
17
  board
18
18
  end
19
19
 
20
- def self.to_fen_notation(board, previous_fen, piece, move)
20
+ def self.to_fen_notation(board, previous_fen, piece, move, captured)
21
21
  notation = handle_position(board)
22
22
  notation += find_turn(previous_fen.active)
23
23
  notation += handle_castle(previous_fen.castling, piece, board)
24
24
  notation += handle_en_passant(piece, move)
25
- notation += handle_half_move_clock(board.size, previous_fen, piece)
25
+ notation += handle_half_move_clock(previous_fen, piece.piece_type, captured)
26
26
  notation += piece.color == 'b' ? previous_fen.fullmove.next : previous_fen.fullmove
27
27
  notation
28
28
  end
29
29
 
30
- def self.handle_half_move_clock(board_size, previous_fen, piece)
31
- if piece.piece_type == 'pawn' || build_board(previous_fen).size > board_size
30
+ def self.handle_half_move_clock(previous_fen, piece_type, captured)
31
+ if piece_type.downcase == 'p' || captured
32
32
  '0 '
33
33
  else
34
34
  previous_fen.halfmove.next + ' '
@@ -116,7 +116,7 @@ module ChessValidator
116
116
  board = BoardLogic.build_board(fen)
117
117
  new_board = with_next_move(piece, board, move)
118
118
 
119
- BoardLogic.to_fen_notation(new_board, fen, piece, move)
119
+ BoardLogic.to_fen_notation(new_board, fen, piece, move, board[INDEX_KEY[move]])
120
120
  end
121
121
 
122
122
  def castled?(piece, move)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: chess_validator
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.15
4
+ version: 0.2.16
5
5
  platform: ruby
6
6
  authors:
7
7
  - Charles Ellison