From 615dbd003ea715cdf3ef3424362c26fcd154ca61 Mon Sep 17 00:00:00 2001 From: Simon O'Shea Date: Tue, 8 Aug 2023 20:07:50 -0400 Subject: astar broken, just like my spirits --- Pathfinding Visualizer/Assets/Scripts/PathNode.cs | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) (limited to 'Pathfinding Visualizer/Assets/Scripts/PathNode.cs') diff --git a/Pathfinding Visualizer/Assets/Scripts/PathNode.cs b/Pathfinding Visualizer/Assets/Scripts/PathNode.cs index 8682070..9cd37fe 100644 --- a/Pathfinding Visualizer/Assets/Scripts/PathNode.cs +++ b/Pathfinding Visualizer/Assets/Scripts/PathNode.cs @@ -16,8 +16,8 @@ using UnityEngine; public char lastMove; // for output/animation public int distanceTraveled; // for calculating f(n) value public double heuristic; - public static double fn; // distance traveled + heuristic value - bool canSample; // for expansion + public double fn; // distance traveled + heuristic value + //bool canSample; // for expansion // construct node :) public Node(Node parent, Vector2Int agent, List samples, char lastMove, int distanceTraveled, double heuristic) @@ -50,8 +50,8 @@ 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 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 ); @@ -117,14 +117,17 @@ using UnityEngine; // check that agent is not trying to move into an obstacle for (int i = 0; i < Pathfinder.obstacles.Count(); i++) { - if (Pathfinder.obstacles[i].x == position.x && Pathfinder.obstacles[i].y == position.y) + if (Pathfinder.obstacles[i].x.Equals(position.x) && Pathfinder.obstacles[i].y.Equals(position.y)) return false; } - // check that agent is not stepping out of the world - if (!((position.y >= 0) && (position.y <= Pathfinder.height - 1) && (position.x >= 0) && (position.x <= Pathfinder.width - 1))) + if ((position.y < 0) || (position.y > Pathfinder.height - 1) || (position.x < 0) || (position.x > Pathfinder.width - 1)) return false; + // check that agent is not stepping out of the world + // if (!((position.y >= 0) && (position.y <= Pathfinder.height - 1) && (position.x >= 0) && (position.x <= Pathfinder.width - 1))) + // return false; + return true; } -- cgit v1.3.1-4-g156e