Он работает именно так, как мне нужно, я очень ценю вашу помощь и спасибо за ваше время :)

рабатываю простую 2D настольную игру с использованием гексагональных карт тайлов, я прочитал несколько статей (в том числе и статью об игре, которые связаны каждый раз, когда возникает вопрос о гексагональных фишках) о том, как рисовать гексы на экране и как управлять движение (хотя многое из этого я уже делал раньше). Моя главная проблема - найти соседние плитки на основе заданного радиуса.

Вот как работает моя система карт:

(0,0) (0,1) (0,2) (0,3) (0,4)
   (1,0) (1,1) (1,2) (1,3) (1,4)
(2,0) (2,1) (2,2) (2,3) (2,4)
   (3,0) (3,1) (3,2) (3,3) (3,4)

и т.д...

С чем я борюсь, так это с тем, что я не могу просто «выбрать» соседние плитки, используяfor(x-range;x+range;x++); for(y-range;y+range;y++); потому что он выбирает ненужные плитки (в приведенном мною примере выбор плитки (1,1) и выбор диапазона 1 также дал бы мне плитку (3,0) (те, которые мне действительно нужны, были (0,1) ( 0,2) (1,0) (1,2) (2,1) (2,2)), что вроде как рядом с плиткой (из-за структуры массива), но это не совсем то, что я хочу чтобы выбрать. Я мог бы просто грубо заставить его, но это было бы не красиво и, вероятно, не охватило бы все аспекты «выбора радиуса».

Может ли кто-нибудь указать мне правильное направление здесь?

Ответы на вопрос(0)

Ваш ответ на вопрос