aboutsummaryrefslogtreecommitdiff
path: root/Pathfinder.h
diff options
context:
space:
mode:
Diffstat (limited to 'Pathfinder.h')
-rw-r--r--Pathfinder.h16
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;