Einzelnen Beitrag anzeigen

Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.442 Beiträge
 
Delphi 12 Athens
 
#8

AW: "8 Puzzle" lösen mit A* Algo - "Neighbor function"

  Alt 21. Jun 2016, 20:16
Na ja, etwas kompakter ginge es schon so (allerdings mit Sets, weil TArray<Integer> nicht als Konstante geht):
Delphi-Quellcode:
const
  Neighbours: array[0..8] of set of 0..8
             = ([1,3], [0,2,4], [1,5],
                [0,4,6], [1,3,5,7], [2,4,8],
                [3,7], [4,6,8], [5,7]);
Damit wird auch das Überprüfen auf Nachbarschaft einfacher.
Delphi-Quellcode:
{ is A neighbour of B }
A in Neigbours[B];
Das Iterieren geht genauso:
for A in Neighbours[B] do ...
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat