From 8cf389aaf748c77aecda0b3a3773c45053b0f231 Mon Sep 17 00:00:00 2001 From: Loek Le Blansch Date: Fri, 25 Oct 2024 13:02:38 +0200 Subject: implement all ALGA features --- Pathfinder.h | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) (limited to 'Pathfinder.h') diff --git a/Pathfinder.h b/Pathfinder.h index 9c362dc..503423e 100644 --- a/Pathfinder.h +++ b/Pathfinder.h @@ -16,16 +16,24 @@ public: Pathfinder(Museum &); virtual void find_between(const XY &, const XY &) = 0; - virtual const Path & get_path() = 0; - virtual bool is_visited(const XY &); + virtual bool is_visited(const XY &); + virtual bool is_solution(const XY &); + + virtual bool is_solved() { return this->solved; } + virtual const Path & get_solution() { return this->path; } protected: - virtual void clear(); - virtual void set_visited(const XY &); + virtual void clear(); + virtual void set_visited(const XY &); + virtual void set_solved(const Path &); private: + size_t pos_to_idx(const XY &); std::vector visisted; + std::vector solution; + Path path; + bool solved = false; protected: Museum & museum; -- cgit v1.2.3