protected bool HasCollision(Square[][] board, Move move)
{
var rowModifier = GetMovementModifier(move.RowChange);
var columnModifier = GetMovementModifier(move.ColumnChange);
var row = move.StartRow + rowModifier;
var column = move.StartColumn + columnModifier;
while (row != move.EndRow || column != move.EndColumn)
{
if (!InBounds(row, column))
return true; //out of bounds
if (board[row][column].ChessPiece != null)
return true; //collison
row += rowModifier;
column += columnModifier;
}
return false;
}