public static bool CanAttack(QueenAttack queen1, QueenAttack queen2) { if (queen1 == null || queen2 == null || queen1.Equals(queen2)) { throw new ArgumentException(); } if (queen1.Row != queen2.Row && queen1.Column != queen2.Column && Math.Abs(queen1.Row - queen2.Row) != Math.Abs(queen1.Column - queen2.Column)) { return(false); } return(true); }