编辑:在代码块中包装示例映射,以便格式正确.
好吧,我正在尝试在六边形网格上编写一个非常简单的A*算法.我明白了,可以做A*部分.事实上,我的A*适用于方格网格.我无法包裹我的大脑是找到六边形的邻居.这是海格网格的布局
0101 0301
0201 0401
0102 0302
0202 0402
Run Code Online (Sandbox Code Playgroud)
等等
所以,我需要帮助的是编写一个Hexagon类,给定它的十六进制坐标,可以生成一个邻居列表.它需要能够生成会从网格中"掉落"的邻居(如20x20网格中的0000或2101),因为这就是我的A*轨道并排放置在多个地图上的方式.所以可以使用这段代码片段:
planet = Hex('0214')print(planet.neighbors())['Hex 0213','Hex 0215','Hex 0115','Hex 0315','Hex 0116','Hex 0316']