1

我正在将游戏作为一个班级项目进行工作,有人建议我使用 Graph ADT 来表示世界地图上的一组领土,这样每个顶点都是一个领土,而边代表玩家的相邻领土之间可以移动。我为 Graph ADT (JGraphT) 找到了一个很好的 Java 库,但我完全不知道边缘应该是什么类型......

例如,Graph<V,E>界面清楚地要求我为顶点定义一个对象类型(我认为使用我的Territory类型非常有意义)但是边应该是什么?我想不出任何可以用作边缘的对象类型。

4

2 回答 2

2

jgrapht 库包含一个边缘类型,DefaultWeightedEdge如果您需要边框权重(用于距离等),则称为边缘类型。否则,您可能只使用DefaultEdge该类。

这是一个更实际的答案,即这些是 jgrapht 中适合您目的的实际类。如果您正在寻找一个更具概念性的答案,我认为 peter.petrov 关于 Border 类的答案几乎是正确的。

于 2013-11-25T20:17:48.760 回答
1

好吧,例如:

(1)

public class Border {
   // ... put here anything that's useful
   // e.g. length of border or type of border (land,sea,river)
}

边缘实际上是两个领土之间的边界。

所以对我来说,成为Border类的优势是有道理的。

另一个想法:

(2)

public class Distance {
   // ... put here anything that's useful
   // e.g. the distance between the two capitals
}

我通常在脑海中表示这些图,就好像顶点是首都一样,边缘是首都之间的道路(我的意思是任何两个毗邻的州/领土)。

于 2013-11-24T21:10:27.847 回答