for (int ix = x - r; ix < x + r + 1; ix++) {
for (int iz = z - r; iz < z + r + 1; iz++) {
for (int iy = y - r; iy < y + r + 1; iy++) {
// if ix,iy,iz = something blah blah (this part isn't needed)
}
}
}
Хорошо, теперь вот проблема. Текущий код выше получает x, y, z и r (диапазон). Его работа состоит в том, чтобы ссылаться на «куб», пока не будет выполнено определенное условие, которое я установил. Проблема заключается в том, что он начинается снаружи куба и в основном распространяется от одного угла к другому.
Я ищу способ (моя математика/java мне не нравится) начать с позиции и зацикливаться на ней (включая саму позицию), пока не достигнет самых внешних границ куба.
Итак, если мы дали всему поддельные значения, давайте использовать x = 5, y = 5, z = 5, r = 2. код должен проверять 5,5,5 - 4,5,5 6,5,5 5,6,5 5,4,5 и т. д. и т. д. и т. д. и т. д., в основном повторяя каждую вещь наружу от центра.
Эта команда называется FindNearest, но технически она действует как FindFurthest atm.
Надеюсь, я дал достаточно подробностей и был бы рад, если бы кто-нибудь подкинул мне несколько фрагментов или работающий код, так как это расстраивает в течение последнего часа или около того. Я не хочу иметь 10 проверок if в середине цикла for или случайных вещей в этом роде, я ищу чистый способ сделать это.