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