1
0
Fork 0
mirror of https://github.com/dancojocaru2000/ai-project-idastar.git synced 2025-02-22 08:29:35 +02:00

Improved marking and pathfinding

This commit is contained in:
Kenneth Bruen 2021-12-07 10:51:46 +02:00
parent 70fb7dcf9f
commit 1f8dda0d66
Signed by: kbruen
GPG key ID: C1980A470C3EE5B1

View file

@ -13,6 +13,7 @@ namespace IdaStar
START,
DESTINATION,
PATH,
GOOD_PATH,
}
public static class CellStateUtil {
@ -24,6 +25,7 @@ namespace IdaStar
'S' => CellState.START,
'F' => CellState.DESTINATION,
'P' => CellState.PATH,
'G' => CellState.GOOD_PATH,
_ => throw new NotImplementedException(),
};
@ -34,6 +36,7 @@ namespace IdaStar
CellState.START => 'S',
CellState.DESTINATION => 'F',
CellState.PATH => 'P',
CellState.GOOD_PATH => 'G',
_ => throw new NotImplementedException(),
};
@ -199,12 +202,15 @@ namespace IdaStar
min = neighbourF;
}
if (min == 0) {
// if (_board[current.Row][current.Column] == CellState.PATH) {
// _board[current.Row][current.Column] = CellState.GOOD_PATH;
// }
break;
}
if (_board[neighbour.Row][neighbour.Column] == CellState.PATH) {
_board[neighbour.Row][neighbour.Column] = CellState.EMPTY;
}
// if (_board[neighbour.Row][neighbour.Column] == CellState.PATH) {
// _board[neighbour.Row][neighbour.Column] = CellState.EMPTY;
// }
}
@ -213,6 +219,7 @@ namespace IdaStar
var threshold = heuristic(startPoint, destinationPoint);
while (threshold != 0) {
Reset();
var newThreshold = search(startPoint, 0, threshold);
if (newThreshold == 0) {
threshold = 0;