Java: erstellen eines Hexagon feldes mit eindeutigen punkten?

1 Antwort

Vom Fragesteller als hilfreich ausgezeichnet

Ich würde hierfür kein (zweidimensionales) Array verwenden. Ein Hexagon ist in der vertikalen Mitte breiter als oben und unten, was foglich bedeuten würde, dass es innere Arrays mit unbesetzten Feldern gäbe.

[
  [ null, null, Feld, Feld, null, null ],
  [ null, Feld, Feld, Feld, Feld, null ],
  /* etc. ... */
]

Für dieses Spielfeld eignet sich eine Art Graph besser. Dieser besteht aus mehreren Knotenpunkten, die jeweils mit anderen Knotenpunkten verbunden sind.

Der Typ für einen Knotenpunkt könnte so aussehen:

class Node {
  private final int column;

  private final List<Node> neighbours;

  private final int row;

  public Node(int column, int row) {
    this(column, row, new ArrayList<Node>());
  }

  public Node(int column, int row, List<Node> neighbours) {
    this.column = column;
    this.row = row;
    this.neighbours = neighbours;
  }

  /* some getter and setters ... */
}