aboutsummaryrefslogtreecommitdiff
path: root/problem.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'problem.hpp')
-rw-r--r--problem.hpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/problem.hpp b/problem.hpp
index 14ba475..4933ed6 100644
--- a/problem.hpp
+++ b/problem.hpp
@@ -91,10 +91,12 @@ struct solution {
solution(const std::vector<hilare_a_mvt> &m) : movement(m) {}
// simple direct solution from A to B, takes into account no obstacles
- static solution direct_sol(const hilare_a &pos_a, const hilare_a &pos_b);
+ static std::vector<solution> direct_sol(const hilare_a &pos_a, const hilare_a &pos_b);
// check if a solution intersects an obstacle of problem
bool intersects(const problem &p) const;
+
+ double length();
};
struct solver_internal {
@@ -106,6 +108,9 @@ struct solver_internal {
void initialize(const problem &p);
solution try_find_solution();
void step(const problem &p);
+
+ // internal
+ void find_direct_path(int a, int b, const problem &p);
};
class solver {