I hardcoded to get neighbors in a radius of 1 or 2. I could hardcode the radius 3 also, but I wonder how I can use some loop etc to have any radius I want? When the red Hex is the center, how can I get every Hex inside the radius?
Thats how I coded the directions for 1 and 2 radius:
private static final Vector2[] directions2Even = {
new Vector2(1,-1), new Vector2(1,0), new Vector2(0,1),
new Vector2(-1,0), new Vector2(-1,-1), new Vector2(0,-1)
};
private static final Vector2[] directions2Odd = {
new Vector2(1,0), new Vector2(1,1), new Vector2(0,1),
new Vector2(-1,1), new Vector2(-1,0), new Vector2(0,-1)
};
private static final Vector2[] directions2BigEven = {
new Vector2(2,0), new Vector2(2,1), new Vector2(1,1),
new Vector2(0,2), new Vector2(-1,1), new Vector2(-2,1),
new Vector2(-2,0), new Vector2(-2,-1), new Vector2(-1,-2),
new Vector2(0,-2), new Vector2(1,-2), new Vector2(2,-1)
};
private static final Vector2[] directions2BigOdd = {
new Vector2(2,0), new Vector2(2,1), new Vector2(1,2),
new Vector2(0,2), new Vector2(-1,2), new Vector2(-2,1),
new Vector2(-2,0), new Vector2(-2,-1), new Vector2(-1,-1),
new Vector2(0,-2), new Vector2(1,-1), new Vector2(2,-1)
};
I read https://www.redblobgames.com/ but he only shows some code for cubes.