Class: SlidingPiece

Inherits:
Piece
  • Object
show all
Defined in:
lib/ari_chess/pieces/super/sliding_piece.rb

Direct Known Subclasses

Bishop, Queen, Rook

Instance Attribute Summary

Attributes inherited from Piece

#board, #color, #pos

Instance Method Summary collapse

Methods inherited from Piece

#deltas, #dup, #initialize, #move_into_check?, #moves, #next_pos, #update_piece, #valid_moves, #valid_pos?

Constructor Details

This class inherits a constructor from Piece

Instance Method Details

#potential_moves(delta) ⇒ Object



2
3
4
5
6
7
8
9
10
11
12
13
14
# File 'lib/ari_chess/pieces/super/sliding_piece.rb', line 2

def potential_moves(delta)
  moves = []
  captured_piece = false
  current_pos = pos

  until captured_piece || !valid_pos?(move = next_pos(current_pos, delta))
    moves << move
    captured_piece = true if !board[move].nil? && board[move].color != color
    current_pos = move
  end

  moves
end