Offset Hexagon - Getting Neighbors in x Radius

21 Views Asked by At

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?

Hexagon

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.

0

There are 0 best solutions below