【发布时间】:2015-10-01 19:57:03
【问题描述】:
我正在尝试制作一个可点击的地图游戏(例如 Risk),其中我有许多类似于这个的 svg 路径:
Example SVG Map
所以当玩家1点击玩家2的领土进行攻击时,点击的领土应该与玩家1的领土有边界,否则攻击无效。
我认为将所有路径及其相邻路径存储在一个多维数组中,如下所示:
path[0] -> path[0][0] path[0][1] path[0][2]
path[1] -> path[1][0] path[1][1]
但是由于我的地图很大,这样我真的效率低下。有关如何解决此问题的任何建议?
【问题讨论】:
-
到底是什么问题?您想保留这些路径 - 从哪里到哪里?
-
i.imgur.com/hNpThyB.jpg 所以在这张地图中。拥有绿色区域的玩家 1 应该能够攻击黄色区域 2 但不能攻击黄色区域 3,因为玩家 1 与区域 3 没有任何边界。我的问题是我需要找到一种方法来阻止他攻击区域 3。
-
那么你只需要一个邻接图。您只需要知道即将被攻击的领土是否有属于攻击者的邻居......
-
谢谢,但问题是创建邻接图。我的地图很大,存储所有路径的相邻路径对我来说似乎效率很低。
-
您只需要存储每个区域的邻接关系。为什么要使用路径?每个领土都有一个邻居列表。即使对于一张大地图,也不应该有那么多数据(我认为它甚至是
O(n)...)
标签: html algorithm dictionary svg path