假设我正在制作一个带有六角网格的棋盘游戏,比如Settlers of Catan:
请注意,每个顶点和边可能有一个属性(上面的道路和沉降).
我如何制作代表该板的数据结构?访问每个tile的邻居,边和顶点的模式是什么?
Joe*_*oey 17
这样的网格可以用二维数组表示:
如果
2
7 3
1
6 4
5
Run Code Online (Sandbox Code Playgroud)
是十六进制网格中的邻居的第一个,然后您可以将其放入2D数组中,如下所示:
2 3
7 1 4
6 5
Run Code Online (Sandbox Code Playgroud)
显然,在该网格中确定邻居不仅通过水平或垂直相邻而且还使用一个对角线.
不过,如果您愿意,也可以使用图表.