Aunque yo utilizo la página de hexágonos de redblobgames para todo tipo de cosas hexagonales, existe una "otra forma" sencilla, muy similar al cálculo del vecino cartesiano. La forma normal en que imaginamos los ladrillos (unión en camilla) tiene la misma relación que una retícula hexagonal.
Teniendo en cuenta que los ladrillos de cada dos filas tienen un desplazamiento horizontal, contamos (a lo largo de las filas) utilizando incrementos de +2 en lugar de +1.
Esto nos da los siguientes valores x
3:0 2 4 6 8
2: 1 3 5 7
1:0 2 4 6 8
0: 1 3 5 7
012345678
Mientras que los valores y son los mismos que los cartesianos. Ahora podemos calcular nuestros vecinos:
Para cualquier ladrillo/hex (x, y) donde (x+y)%2==1 los vecinos son (x-2,y),(x+2,y),(x-1,y+1),(x+1,y+1),(x-1,y-1),(x+1,y-1)
La colocación de un hexágono (x,y) en una posición cartesiana aproximada puede hacerse mediante (x+y%2,y) (donde % es la operación de módulo)
Si queremos etiquetar sin utilizar incrementos de +2, aún podemos hacerlo, pero necesitamos utilizar la operación módulo para calcular los vecinos.
3:0 1 2 3 4
2: 1 2 3 4
1:0 1 2 3 4
0: 1 2 3 4
0-1-2-3-4 y%2=1
-1-2-3-4- y%2=0
Ahora podemos resolver lo de nuestros vecinos: Para cualquier ladrillo/hex (x, y) los vecinos son (x-1,y),(x+1,y),(x,y+1),(x+2(y%2)-1,y+1),(x,y-1),(x+2(y%2)-1,y-1).