X-Git-Url: http://nitlanguage.org diff --git a/lib/a_star.nit b/lib/a_star.nit index 3d8112d..c6f6329 100644 --- a/lib/a_star.nit +++ b/lib/a_star.nit @@ -29,7 +29,7 @@ # # / / # # c -3- d -8- e # # -# var graph = new Graph[Node,WeigthedLink[Node]] +# var graph = new Graph[Node,WeightedLink] # # var na = new Node(graph) # var nb = new Node(graph) @@ -58,7 +58,7 @@ module a_star redef class Object protected fun debug_a_star: Bool do return false private fun debug(msg: String) do if debug_a_star then - stderr.write "a_star debug: {msg}\n" + sys.stderr.write "a_star debug: {msg}\n" end end @@ -82,28 +82,27 @@ class Node private var last_pathfinding_evocation: Int = 0 # cost up to in current evocation - # lifetime limited to evocation of path_to + # lifetime limited to evocation of `path_to` private var best_cost_up_to: Int = 0 # source node - # lifetime limited to evocation of path_to + # lifetime limited to evocation of `path_to` private var best_source: nullable N = null # is in frontier or buckets - # lifetime limited to evocation of path_to + # lifetime limited to evocation of `path_to` private var open: Bool = false - # Main functionnality, returns path from `self` to `dest` - fun path_to(dest: Node, max_cost: Int, context: PathContext): nullable Path[N] + fun path_to(dest: N, max_cost: Int, context: PathContext): nullable Path[N] do var cost = 0 var nbr_buckets = context.worst_cost + context.worst_heuristic_cost + 1 - var buckets = new Array[List[Node]].with_capacity(nbr_buckets) + var buckets = new Array[List[N]].with_capacity(nbr_buckets) for i in [0 .. nbr_buckets[ do - buckets.add(new List[Node]) + buckets.add(new List[N]) end graph.pathfinding_current_evocation += 1 @@ -115,7 +114,7 @@ class Node self.best_cost_up_to = 0 loop - var frontier_node: nullable Node = null + var frontier_node: nullable N = null var bucket_searched: Int = 0