From 3f7fc718fb8bf4cc0a1deaa76aee1b5fca466630 Mon Sep 17 00:00:00 2001
From: NET-D3v3l0p3r <3r0rxx@gmail.com>
Date: Tue, 27 Apr 2021 20:34:05 +0200
Subject: [PATCH] =?UTF-8?q?2=20Ans=C3=A4tze=20->=20simples=20flood=20fill?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 src/Program.java                      |  4 ++++
 src/approach2/algorithm/Explorer.java | 25 +++++++++++++++++++++----
 2 files changed, 25 insertions(+), 4 deletions(-)

diff --git a/src/Program.java b/src/Program.java
index ee73c02..2dda244 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 727edd3..dcff27d 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.");
+
     }
 
 
-- 
GitLab