如何使用图表表示游戏板?

时间:2015-03-30 18:45:40

标签: java graph

我提供了这种方法:

public void init(Logger logger, int playerID, int numWalls, Map<Integer, Coordinate> playerHomes){
    //The graph I want to use 
    HashMap<Coordinate, HashSet<Coordinate>> graph = new HashMap<Coordinate, HashSet<Coordinate>>();

init:将此方法视为构造函数(因此,您不应该使用构造函数,因为它不会被调用)。启动后,引擎将调用此方法一次。在此之前,您必须在进行任何移动之前构建并存储游戏的初始表示。

Logger, - 对记录器类的引用

playerId, - 此玩家的身份证(1人最多4人,四人游戏)

numWalls, - 此玩家拥有的墙数

playerHomes, - 其他玩家的位置(空坐标表示无效玩家;基于1的索引)

电路板上的方块表示为Coordinate,具有行和列值。

我只是混淆了我应该如何填充一个9x9游戏板,它被表示为图形。我试图让每个坐标都有4个邻居,除非它是角坐标或板边缘的坐标。

但我希望我的键和值表示为

HashMap<Coordinate, HashSet<Coordinate>

例如,位置(键)(0,0)具有邻居(值):[(0,1),(1,1)]

1 个答案:

答案 0 :(得分:0)

只需将图表表示为二维矩阵,其中每个单元格将包含指定其信息的对象(例如,该单元格中的玩家)。邻接度由矩阵中的指数确定。如果您需要使用更多信息进行装饰,例如墙壁等可能使用另一个具有相同尺寸的矩阵覆盖此信息。