Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.442 Beiträge
Delphi 12 Athens
|
AW: "8 Puzzle" lösen mit A* Algo - "Neighbor function"
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 ...
|
|
Zitat
|