aboutsummaryrefslogtreecommitdiff
path: root/DijkstraPathfinder.cpp
diff options
context:
space:
mode:
authorLoek Le Blansch <loek@pipeframe.xyz>2024-10-25 13:02:38 +0200
committerLoek Le Blansch <loek@pipeframe.xyz>2024-10-25 13:02:38 +0200
commit8cf389aaf748c77aecda0b3a3773c45053b0f231 (patch)
tree91268879710d6ae2868e548d3f44c664a19443d8 /DijkstraPathfinder.cpp
parentda669db4f083194bc78358041c5d9929e103ac9f (diff)
implement all ALGA features
Diffstat (limited to 'DijkstraPathfinder.cpp')
-rw-r--r--DijkstraPathfinder.cpp8
1 files changed, 2 insertions, 6 deletions
diff --git a/DijkstraPathfinder.cpp b/DijkstraPathfinder.cpp
index 8a8e8eb..d920fc9 100644
--- a/DijkstraPathfinder.cpp
+++ b/DijkstraPathfinder.cpp
@@ -1,4 +1,3 @@
-#include <algorithm>
#include <queue>
#include "DijkstraPathfinder.h"
@@ -6,13 +5,8 @@
using namespace std;
-const DijkstraPathfinder::Path & DijkstraPathfinder::get_path() {
- return this->solution;
-}
-
void DijkstraPathfinder::clear() {
Pathfinder::clear();
- this->solution.clear();
this->map.clear();
}
@@ -30,11 +24,13 @@ void DijkstraPathfinder::find_between(const XY & start, const XY & end) {
XY pos = end;
int steps = 0;
+ Path solution;
while (pos != start) {
solution.push_front(pos);
pos = this->map_get(pos).parent;
steps++;
}
+ this->set_solved(solution);
printf("Dijkstra: solution found (%d steps, %u time)\n", steps, this->map_get(end).distance);
}