gitweb on Svarog

projekti pod git sistemom za održavanje verzija -- projects under the git version control system
Lavirint - resenje za najbolji put
[spa2-materijali.git] / PretrazivanjeSaVracanjem / Lavirint / NajboljiPut / Mapa.java
index a5e8a15..d90f1f2 100644 (file)
@@ -1,78 +1,89 @@
 public class Mapa {\r
- public final static int IZLAZ = -99;\r
- public final static int ZID = -11;\r
- public final static int ERROR = Integer.MIN_VALUE;\r
      public final static int IZLAZ = -99;\r
      public final static int ZID = -11;\r
      public final static int ERROR = Integer.MIN_VALUE;\r
 \r
- private int visina, sirina;\r
- private int[][] mat;\r
- private boolean[][] pos;\r
      private int visina, sirina;\r
      private int[][] mat;\r
      private boolean[][] pos;\r
 \r
- public int getSirina() {\r
-  return sirina;\r
- }\r
      public int getSirina() {\r
+               return sirina;\r
      }\r
 \r
- public int getVisina() {\r
-  return visina;\r
- }\r
      public int getVisina() {\r
+               return visina;\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 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 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 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 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 ERROR;\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 ERROR;\r
+               }\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(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 static Mapa ucitajIzFajla(String imeFajla) {\r
-  if (!Svetovid.testIn(imeFajla)) {\r
-   return null;\r
-  }\r
+       public Mapa(String imeFajla) {\r
+               if (!Svetovid.testIn(imeFajla)) {\r
+                       throw new RuntimeException("Fajl za kreiranje mape ("\r
+                               + imeFajla + ") nije prisupacan");\r
+               }\r
 \r
-  int sirina = Svetovid.in(imeFajla).readInt();\r
-  int visina = Svetovid.in(imeFajla).readInt();\r
-  if (sirina >= 0 && visina >= 0) {\r
-   Mapa res = new Mapa(sirina, visina);\r
-   for (int j = 0; j < visina; j++)\r
-    for (int i = 0; i < sirina; i++)\r
-     res.mat[i][j] = Svetovid.in(imeFajla).readInt();\r
-   Svetovid.closeIn(imeFajla);\r
-   return res;\r
-  } else {\r
-   Svetovid.closeIn(imeFajla);\r
-   return null;\r
-  }\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
+       }\r
 \r
- public void stampaj() {\r
-  if (visina != 0 && sirina != 0) {\r
-   System.out.println(visina + " " + sirina);\r
-   for (int j = 0; j < visina; j++) {\r
-    for (int i = 0; i < sirina; i++) {\r
-     System.out.print(mat[i][j] + "\t");\r
-    }\r
-    System.out.println();\r
-   }\r
-  }\r
- }\r
+       public static Mapa ucitajIzFajla(String imeFajla) {\r
+               if (!Svetovid.testIn(imeFajla)) {\r
+                       return null;\r
+               }\r
+               \r
+               return new Mapa(imeFajla);\r
+\r
+       }\r
+\r
+       public void stampaj() {\r
+               if (visina != 0 && sirina != 0) {\r
+                       System.out.println(visina + " " + sirina);\r
+                       for (int j = 0; j < visina; j++) {\r
+                               for (int i = 0; i < sirina; i++) {\r
+                                       System.out.print(mat[i][j] + "\t");\r
+                               }\r
+                               System.out.println();\r
+                       }\r
+               }\r
+       }\r
+       \r
+       public String toString() {\r
+               return "Mapa velicine " + sirina + " x " + visina;\r
+       }\r
 }\r
Svarog.pmf.uns.ac.rs/gitweb maintanance Doni Pracner