class JustShogi::Ginshou

Ginshou

The piece that can move 1 space diagonally or forwards orthogonally

Public Instance Methods

destinations(square, game_state) click to toggle source

All the squares that the piece can move to and/or capture.

@param [Square] square

the origin square.

@param [GameState] game_state

the current game state.

@return [SquareSet]

# File lib/just_shogi/pieces/ginshou.rb, line 19
def destinations(square, game_state)
  (game_state.squares.diagonal(square) | game_state.squares.in_direction(square, forwards_direction)).in_range(square, 1).unoccupied_or_occupied_by_opponent(player_number).unblocked(square, game_state.squares)
end