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