gitweb on Svarog

projekti pod git sistemom za održavanje verzija -- projects under the git version control system
Lavirint, objedinjeno resenje, doterane praznine i formatiranja
[spa2-materijali.git] / PretrazivanjeSaVracanjem / Lavirint / SuperKomplikovanoResenje / Mapa.java
index 091f37d..a156601 100644 (file)
@@ -1,95 +1,94 @@
-\r
 /**\r
  * Klasa Mapa koristi se za reprezentaciju lavirint i njegovih polja.\r
  */\r
 public class Mapa {\r
 \r
-       // Vrednosti polja i njihova znacenja\r
-       public final static int IZLAZ = -5;\r
-       public final static int ZID = -1;\r
-       public final static int GRESKA = Integer.MIN_VALUE;\r
+    // Vrednosti polja i njihova znacenja\r
+    public final static int IZLAZ = -5;\r
+    public final static int ZID = -1;\r
+    public final static int GRESKA = Integer.MIN_VALUE;\r
+\r
+    // Dimenzije mape\r
+    private int visina, sirina;\r
+\r
+    // Polja mape\r
+    private int[][] mat;\r
 \r
-       // Dimenzije mape\r
-       private int visina, sirina;\r
-       \r
-       // Polja mape\r
-       private int[][] mat;\r
+    // Prilikom pretrazivanja ovde mozemo pamtiti koja polja smo posetili a koja nismo\r
+    private boolean[][] pos;\r
 \r
-       // Prilikom pretrazivanja ovde mozemo pamtiti koja polja smo posetili a koja nismo\r
-       private boolean[][] pos;\r
+    public int getSirina() {\r
+        return sirina;\r
+    }\r
 \r
-       public int getSirina() {\r
-               return sirina;\r
-       }\r
+    public int getVisina() {\r
+        return visina;\r
+    }\r
 \r
-       public int getVisina() {\r
-               return visina;\r
-       }\r
+    public void setPos(int x, int y, boolean b) {\r
+        if (0 <= x && x < sirina && 0 <= y && y < visina) {\r
+            pos[x][y] = b;\r
+        }\r
+    }\r
 \r
-       public void setPos(int x, int y, boolean b) {\r
-               if (0 <= x && x < sirina && 0 <= y && y < visina) {\r
-                       pos[x][y] = b;\r
-               }\r
-       }\r
+    public boolean getPos(int x, int y) {\r
+        if (0 <= x && x < sirina && 0 <= y && y < visina) {\r
+            return pos[x][y];\r
+        } else {\r
+            return true;\r
+        }\r
+    }\r
 \r
-       public boolean getPos(int x, int y) {\r
-               if (0 <= x && x < sirina && 0 <= y && y < visina) {\r
-                       return pos[x][y];\r
-               } else {\r
-                       return true;\r
-               }\r
-       }\r
+    public int getMat(int x, int y) {\r
+        if (0 <= x && x < sirina && 0 <= y && y < visina) {\r
+            return mat[x][y];\r
+        } else {\r
+            return GRESKA;\r
+        }\r
+    }\r
 \r
-       public int getMat(int x, int y) {\r
-               if (0 <= x && x < sirina && 0 <= y && y < visina) {\r
-                       return mat[x][y];\r
-               } else {\r
-                       return GRESKA;\r
-               }\r
-       }\r
+    public Mapa(int sirina, int visina) {\r
+        this.sirina = sirina;\r
+        this.visina = visina;\r
+        mat = new int[sirina][visina];\r
+        pos = new boolean[sirina][visina];\r
+    }\r
 \r
-       public Mapa(int sirina, int visina) {\r
-               this.sirina = sirina;\r
-               this.visina = visina;\r
-               mat = new int[sirina][visina];\r
-               pos = new boolean[sirina][visina];\r
-       }\r
+    public Mapa(String imeFajla) {\r
+        if (!Svetovid.testIn(imeFajla)) {\r
+            throw new RuntimeException("Fajl za kreiranje mape (" + imeFajla + ") nije prisupacan");\r
+        }\r
+        sirina = Svetovid.in(imeFajla).readInt();\r
+        visina = Svetovid.in(imeFajla).readInt();\r
+        mat = new int[sirina][visina];\r
+        pos = new boolean[sirina][visina];\r
+        for (int j = 0; j < visina; j++) {\r
+            for (int i = 0; i < sirina; i++) {\r
+                mat[i][j] = Svetovid.in(imeFajla).readInt();\r
+            }\r
+        }\r
+        Svetovid.closeIn(imeFajla);\r
+        Prikaz.boja(ZID, Prikaz.CRNA, null);\r
+        Prikaz.boja(IZLAZ, Prikaz.CRVENA, Prikaz.BELA);\r
+        Prikaz.boja(1, 20, Prikaz.SVETLO_ZELENA, Prikaz.ZELENA, Prikaz.CRNA);\r
+        Prikaz.boja(99, Prikaz.ZUTA, Prikaz.CRNA);\r
+        Prikaz.mapa("Lavirint", getSirina(), getVisina(), this::getMat);\r
+    }\r
 \r
-       public Mapa(String imeFajla) {\r
-               if (!Svetovid.testIn(imeFajla)) {\r
-                       throw new RuntimeException("Fajl za kreiranje mape (" + imeFajla + ") nije prisupacan");\r
-               }\r
-               sirina = Svetovid.in(imeFajla).readInt();\r
-               visina = Svetovid.in(imeFajla).readInt();\r
-               mat = new int[sirina][visina];\r
-               pos = new boolean[sirina][visina];\r
-               for (int j = 0; j < visina; j++) {\r
-                       for (int i = 0; i < sirina; i++) {\r
-                               mat[i][j] = Svetovid.in(imeFajla).readInt();\r
-                       }\r
-               }\r
-               Svetovid.closeIn(imeFajla);\r
-               Prikaz.boja(ZID, Prikaz.CRNA, null);\r
-               Prikaz.boja(IZLAZ, Prikaz.CRVENA, Prikaz.BELA);\r
-               Prikaz.boja(1, 20, Prikaz.SVETLO_ZELENA, Prikaz.ZELENA, Prikaz.CRNA);\r
-               Prikaz.boja(99, Prikaz.ZUTA, Prikaz.CRNA);\r
-               Prikaz.mapa("Lavirint", getSirina(), getVisina(), this::getMat);\r
-       }\r
+    public void stampaj() {\r
+        if (visina != 0 && sirina != 0) {\r
+            System.out.println();\r
+            System.out.println("Mapa sirine " + sirina + " i visine " + visina);\r
+            for (int j = 0; j < visina; j++) {\r
+                for (int i = 0; i < sirina; i++) {\r
+                    System.out.printf("%5d", mat[i][j]);\r
+                }\r
+                System.out.println();\r
+            }\r
+        }\r
+    }\r
 \r
-       public void stampaj() {\r
-               if (visina != 0 && sirina != 0) {\r
-                       System.out.println();\r
-                       System.out.println("Mapa sirine " + sirina + " i visine " + visina);\r
-                       for (int j = 0; j < visina; j++) {\r
-                               for (int i = 0; i < sirina; i++) {\r
-                                       System.out.printf("%5d", mat[i][j]);\r
-                               }\r
-                               System.out.println();\r
-                       }\r
-               }\r
-       }\r
-       \r
-       public String toString() {\r
-               return "Mapa velicine " + sirina + " x " + visina;\r
-       }\r
+    public String toString() {\r
+        return "Mapa velicine " + sirina + " x " + visina;\r
+    }\r
 }\r
Svarog.pmf.uns.ac.rs/gitweb maintanance Doni Pracner