diff options
Diffstat (limited to 'Pathfinder.h')
-rw-r--r-- | Pathfinder.h | 16 |
1 files changed, 12 insertions, 4 deletions
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<bool> visisted; + std::vector<bool> solution; + Path path; + bool solved = false; protected: Museum & museum; |