public bool Intersects(IShip ship)
        {
            if (ShipUtils.AreBothAxisHorizontal(ship.Axis, Axis))
            {
                return(IntersectsHorizontally(ship));
            }

            if (ShipUtils.AreBothAxisVertical(ship.Axis, Axis))
            {
                return(IntersectsVertically(ship));
            }

            return(ship.Body.Any(cell => GetIndex(cell.Location) == 0));
        }