我已经读过这篇文章:generating/creating hexagon grid in C。但是看起来作者和回答者都已经放弃了它。√(hexagonSide - hexagonWidth * hexagonWidth)
:hexagonSide和hexagonWidth是什么?是不是
而且,我可以将六角形变成矩形吗?我需要创建一个像这样的网格:
还有一件事,如何安排我的阵列来存储数据,以及如何获得一个单元格旁边的单元格?
我从未听说过六角形技术,因此对此一无所知,但是我可以轻松学习新事物,因此,如果您可以解释或提供线索,我可以自己做。
最佳答案
表示数据的一种方法是这样考虑:
a-b-c-d-e-
-f-g-h-i-j
k-l-m-n-o-
-p-q-r-s-t
u-v-w-x-y-
破折号是空位置-它们存在于数组中,但不表示任何六边形。在此,六角形m连接到六角形c,g,h,q,r,w。一旦可以接受该表示形式,就可以通过删除空位置来使其更紧凑:
abcde
fghij
klmno
pqrst
uvwxy
六边形m仍与六边形c,g,h,q,r,w连接,这很难看。
更新阅读:http://www-cs-students.stanford.edu/~amitp/game-programming/grids/