chess_validator 0.2.9 → 0.2.10

Sign up to get free protection for your applications and to get access to all the features.
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