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

Java 如何使用图形表示游戏板?,java,graph,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<C

我获得了以下方法:

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>>();
public void init(日志记录器、int playerID、int numWalls、Map playerHomes){
//我要使用的图形
HashMap graph=新的HashMap();
init
:将此方法视为您的构造函数(因此,您不应该拥有构造函数,因为它不会被调用)。引擎将在启动时调用此方法一次。在进行任何移动之前,您必须在此处构建并存储游戏的初始表示

记录器
,-记录器类的参考

playerId
,-此玩家的id(对于四人游戏,1到4)

numWalls
,-此玩家拥有的墙数

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

电路板上的正方形表示为坐标,具有行和列值

我只是对如何填充一个以图形表示的9x9游戏板感到困惑。我试图让每个坐标都有4个邻居,除非它是一个角坐标或棋盘边缘的坐标

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


HashMap仅将图形表示为二维矩阵,其中每个单元格将包含一个指定其信息的对象(例如,该单元格中的播放器).邻接度由矩阵中的索引确定。如果您需要用更多信息装饰它,例如墙等,可以使用另一个具有相同尺寸的矩阵覆盖此信息。

您可以将每个坐标的所有数据封装在另一个类中,而不是使用坐标哈希集,可能称为“平铺”.这样您就可以在该磁贴类别中存储播放器、边缘等。