module Bchess::BoardHelpers
Public Instance Methods
castle_detected?(piece, column)
click to toggle source
# File lib/bchess/helpers/board_helpers.rb, line 11 def castle_detected?(piece, column) piece.is_a?(Bchess::King) && piece.column == 4 && (column - piece.column).abs == 2 end
en_passant_detected?(piece, column, row)
click to toggle source
# File lib/bchess/helpers/board_helpers.rb, line 19 def en_passant_detected?(piece, column, row) piece.is_a?(Bchess::Pawn) && piece.row != row && piece.column != column && at(column, row).nil? && piece.can_take_on_field?(column, row) end
field(column, row)
click to toggle source
# File lib/bchess/helpers/board_helpers.rb, line 3 def field(column, row) (column + 97).chr + (row + 1).to_s end
invalid_data?(piece, column, row)
click to toggle source
# File lib/bchess/helpers/board_helpers.rb, line 7 def invalid_data?(piece, column, row) piece.nil? || !(0..7).cover?(column) || !(0..7).cover?(row) end
kings_present?()
click to toggle source
# File lib/bchess/helpers/board_helpers.rb, line 27 def kings_present? !!king(Bchess::WHITE) && !!king(Bchess::BLACK) end
pawn_long_move_detected?(piece, row)
click to toggle source
# File lib/bchess/helpers/board_helpers.rb, line 23 def pawn_long_move_detected?(piece, row) piece.is_a?(Bchess::Pawn) && (piece.row - row).abs == 2 end
promotion_detected?(piece, row)
click to toggle source
# File lib/bchess/helpers/board_helpers.rb, line 15 def promotion_detected?(piece, row) piece.is_a?(Bchess::Pawn) && (row == 0 || row == 7) end
to_column(column)
click to toggle source
# File lib/bchess/helpers/board_helpers.rb, line 35 def to_column(column) column.bytes.first - 97 end
to_row(row)
click to toggle source
# File lib/bchess/helpers/board_helpers.rb, line 31 def to_row(row) row.to_i - 1 end