diff --git a/src/Program.java b/src/Program.java index ee73c02dafb710666ef4f6b0f005cd45591e9646..2dda2440f00cdd849c956078b52c9e8ee362a830 100644 --- a/src/Program.java +++ b/src/Program.java @@ -3,10 +3,14 @@ import window.MainWindowApproach1; import window.MainWindowApproach2; +import java.util.concurrent.locks.Condition; +import java.util.concurrent.locks.ReentrantLock; + public class Program { public static void main(String[] args) throws Exception { + MainWindowApproach2 window = new MainWindowApproach2("Pathfinder v1", 1080, 1080); window.run(); diff --git a/src/approach2/algorithm/Explorer.java b/src/approach2/algorithm/Explorer.java index 727edd3ac4e8205fad7be58b41d88a805c5af09a..dcff27d00c9ac3a4c51cfc9d1466bc8b6fba1afa 100644 --- a/src/approach2/algorithm/Explorer.java +++ b/src/approach2/algorithm/Explorer.java @@ -42,13 +42,25 @@ public class Explorer { boolean - left = SharedRessources.getInstance().isWall(x - 1, y); + left = SharedRessources.getInstance().isWall(x - 1, y) ; boolean - right = SharedRessources.getInstance().isWall(x + 1, y); + right = SharedRessources.getInstance().isWall(x + 1, y) ; boolean up - = SharedRessources.getInstance().isWall(x, y - 1); + = SharedRessources.getInstance().isWall(x, y - 1) ; boolean down - = SharedRessources.getInstance().isWall(x, y + 1); + = SharedRessources.getInstance().isWall(x, y + 1) ; + + boolean leftUp = + SharedRessources.getInstance().isWall(x - 1, y- 1); + boolean rightUp = + SharedRessources.getInstance().isWall(x + 1, y- 1); + + boolean leftDown = + SharedRessources.getInstance().isWall(x - 1, y + 1); + boolean rightDown = + SharedRessources.getInstance().isWall(x + 1, y + 1); + + int stepLeft = SharedRessources.getInstance().getStep(x - 1, y); @@ -59,6 +71,9 @@ public class Explorer { int stepDown = SharedRessources.getInstance().getStep(x, y + 1); + if(!left && !right && !up && !down && !rightDown && !rightUp && !leftDown && !leftUp) + continue; + if (!left) { if (steps < stepLeft) { SharedRessources.getInstance() @@ -113,6 +128,8 @@ public class Explorer { } + System.out.println("Done."); + }