chess_validator 0.2.9 → 0.2.10

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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/move_logic.rb +12 -7
  3. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 22fa05aafa1d1598ba384879860f4fc10de365c683e69a0f0f37592afa833c22
4
- data.tar.gz: db2436d2d489d82d919701d301e4ece358ec2a1692bab9f929dd16f815c8e279
3
+ metadata.gz: b367a02178081794d8ac5adc34cada855ae9aa3615459fd2c6aa81698f0cc8e7
4
+ data.tar.gz: 3f49bc22122a0318a991fb6340b0b6f22b0d30d919f07396b0a02de00affc219
5
5
  SHA512:
6
- metadata.gz: fce7255b5a6d5ed612ed3c33300ffbfdcb4a06c25046f621d0172fd5b4eda853d31f7109dae74b46247de07927982e35da79d94f8df438b07e2240318d835c6a
7
- data.tar.gz: 922583c5f2ff843b2292ebf10fe8d69cfcaac72a55732593188b4d5952758127a554bf498da632f1b34908a269a071b9e8c88a3d55f4f083829958d36bbba1e3
6
+ metadata.gz: b6074c987ce55676e9f41e05c501438459757c6fe8ac24dec622f50d9b7ca7e80c637b495393839df2a9bee05efca5601e41088e2b035dfe824b8cd05ff26272
7
+ data.tar.gz: 3a06c0c82eb0d9317b0b439cb37d47975aaecfe484d65d28d3d0733f71b89b07b7dcae6895f599632921293ed0642ccae113a6517279cfad1f7dee5064d429bd
@@ -191,17 +191,22 @@ module ChessValidator
191
191
  end
192
192
 
193
193
  def advance_pawn?(pawn, board, move)
194
- if (pawn.position[1].to_i - move[1].to_i).abs == 1
195
- empty_square?(board, move)
196
- else
197
- occupied_spaces = []
198
- board.values.each do |piece|
199
- occupied_spaces << piece.position
194
+ if empty_square?(board, forward_by(pawn, 1))
195
+ if (pawn.position[1].to_i - move[1].to_i).abs == 2
196
+ empty_square?(board, forward_by(pawn, 2))
197
+ else
198
+ true
200
199
  end
201
- valid_move_path?(pawn, move, occupied_spaces) && empty_square?(board, move)
200
+ else
201
+ false
202
202
  end
203
203
  end
204
204
 
205
+ def forward_by(piece, count)
206
+ position = piece.position
207
+ piece.color == 'w' ? position[0] + (position[1].to_i + count).to_s : position[0] + (position[1].to_i - count).to_s
208
+ end
209
+
205
210
  def valid_destination?(piece, board, move)
206
211
  target_piece = find_piece(board, move)
207
212
  if target_piece
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.9
4
+ version: 0.2.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Charles Ellison