private bool IntersectsVertically(IShip ship) { if (!ShipUtils.AreOnTheSameColumn(ship.Head, Head)) { return(false); } if (!ShipUtils.AreRangesIntersecting(ship.Head.Y, ship.Tail.Y, Head.Y, Tail.X)) { return(false); } return(true); }