summaryrefslogtreecommitdiff
path: root/Pathfinding Visualizer/Assets/Scripts/Pathfinder.cs
diff options
context:
space:
mode:
authorSimon O'Shea <osheas1@wit.edu>2023-08-08 21:53:26 -0400
committerSimon O'Shea <osheas1@wit.edu>2023-08-08 21:53:26 -0400
commitce148072ef18fb0b33b0c9f3bef5629601f1d48f (patch)
tree729be79d3908d8739220da25bf570de4749118a4 /Pathfinding Visualizer/Assets/Scripts/Pathfinder.cs
parent82a6c82fe1080f84761fbae9d0472f4705899749 (diff)
everything is a mess
Diffstat (limited to 'Pathfinding Visualizer/Assets/Scripts/Pathfinder.cs')
-rw-r--r--Pathfinding Visualizer/Assets/Scripts/Pathfinder.cs18
1 files changed, 11 insertions, 7 deletions
diff --git a/Pathfinding Visualizer/Assets/Scripts/Pathfinder.cs b/Pathfinding Visualizer/Assets/Scripts/Pathfinder.cs
index b7f820e..9d5332c 100644
--- a/Pathfinding Visualizer/Assets/Scripts/Pathfinder.cs
+++ b/Pathfinding Visualizer/Assets/Scripts/Pathfinder.cs
@@ -21,6 +21,8 @@ public class Pathfinder
public static int height;
public static int width;
+ public Stack<Node> result;
+
public Pathfinder(LogicGrid world, Vector2Int a, List<Vector2Int> o, List<Vector2Int> s, int algo, int heu)
{
@@ -58,25 +60,27 @@ public class Pathfinder
public void StartWork()
{
Node initialState = new Node(null, agent, samples, '0', 0, 0);
- List<Node> result = new List<Node>();
+ result = new Stack<Node>();
// Run AStar
if (algorithm == 0)
{
result = StartAStar(initialState);
- Debug.Log(" ");
- for(int i = 0; i < result.Count; i++)
+ Debug.Log(" ");
+
+ int count = result.Count;
+ for(int i = 0; i < count; i++)
{
- Node n = result[i];
+ Node n = result.Pop();
Debug.Log("Agent at: " + n.agent.x + ", " + n.agent.y);
Debug.Log(n.lastMove);
}
}
}
- public static List<Node> StartAStar(Node initialState)
+ public static Stack<Node> StartAStar(Node initialState)
{
- List<Node> solution = new List<Node>();
+ Stack<Node> solution = new Stack<Node>();
List<Node> open = new List<Node>();
@@ -100,7 +104,7 @@ public class Pathfinder
Debug.Log("Gottem");
while (currentNode.parent != null)
{
- solution.Add(currentNode);
+ solution.Push(currentNode);
currentNode = currentNode.parent;
}