-1

我正在写一个 roguelike 并且需要一个算法(最好是 ac 实现)来找到一个锥形区域中的所有网格点,效果攻击延伸到与玩家的距离 r。

任何人都可以帮忙吗?

4

1 回答 1

1

从玩家所在的网格点开始,并将其添加到“接受的网格点列表”中。您的清单将从这一点开始。

接下来遍历您接受的列表,对于每一个(从一个开始)......在任何未触及的相邻网格点上,计算它们与玩家的角度和距离。如果这些单元格落在圆锥参数的角度和半径范围内,请将它们也添加到列表的末尾。如果该网格点在外部,请不要将其添加到列表中。最终,当没有更多符合参数的未触及邻居时,您将到达列表的末尾。

这类似于 A* 算法,它将继续遍历所有相邻的网格点,直到您的列表中只包含落在您的圆锥内的点。

于 2013-08-17T19:10:04.997 回答