diff --git a/Pathfinding Visualizer/Assets/Scripts/PathNode.cs b/Pathfinding Visualizer/Assets/Scripts/PathNode.cs index 9cd37fe..c69e821 100644 --- a/Pathfinding Visualizer/Assets/Scripts/PathNode.cs +++ b/Pathfinding Visualizer/Assets/Scripts/PathNode.cs @@ -50,10 +50,10 @@ using UnityEngine; //////////////////////////////////// // store coordinates for all potential moves to be checked - Vector2Int up = new Vector2Int( this.agent.y + 1, this.agent.x ); - Vector2Int down = new Vector2Int( this.agent.y - 1, this.agent.x ); - Vector2Int left = new Vector2Int( this.agent.y, this.agent.x - 1 ); - Vector2Int right = new Vector2Int( this.agent.y, this.agent.x + 1 ); + Vector2Int up = new Vector2Int( this.agent.x, this.agent.y + 1 ); + Vector2Int down = new Vector2Int( this.agent.x, this.agent.y - 1 ); + Vector2Int left = new Vector2Int( this.agent.x - 1, this.agent.y ); + Vector2Int right = new Vector2Int( this.agent.x + 1, this.agent.y); // make sure going up doesn't go outside world-bounds or into obstacle if (isOpen(up)) 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 result; + public Pathfinder(LogicGrid world, Vector2Int a, List o, List 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 result = new List(); + result = new Stack(); // 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 StartAStar(Node initialState) + public static Stack StartAStar(Node initialState) { - List solution = new List(); + Stack solution = new Stack(); List open = new List(); @@ -100,7 +104,7 @@ public class Pathfinder Debug.Log("Gottem"); while (currentNode.parent != null) { - solution.Add(currentNode); + solution.Push(currentNode); currentNode = currentNode.parent; }