Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在写一个 roguelike 并且需要一个算法(最好是 ac 实现)来找到一个锥形区域中的所有网格点,效果攻击延伸到与玩家的距离 r。
任何人都可以帮忙吗?
从玩家所在的网格点开始,并将其添加到“接受的网格点列表”中。您的清单将从这一点开始。
接下来遍历您接受的列表,对于每一个(从一个开始)......在任何未触及的相邻网格点上,计算它们与玩家的角度和距离。如果这些单元格落在圆锥参数的角度和半径范围内,请将它们也添加到列表的末尾。如果该网格点在外部,请不要将其添加到列表中。最终,当没有更多符合参数的未触及邻居时,您将到达列表的末尾。
这类似于 A* 算法,它将继续遍历所有相邻的网格点,直到您的列表中只包含落在您的圆锥内的点。