gitweb on Svarog

projekti pod git sistemom za održavanje verzija -- projects under the git version control system
Lavirint - trazenje najboljeg puta
[spa2-materijali.git] / PretrazivanjeSaVracanjem / Lavirint / NajboljiPut / Mapa.java
diff --git a/PretrazivanjeSaVracanjem/Lavirint/NajboljiPut/Mapa.java b/PretrazivanjeSaVracanjem/Lavirint/NajboljiPut/Mapa.java
new file mode 100644 (file)
index 0000000..a5e8a15
--- /dev/null
@@ -0,0 +1,78 @@
+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
+\r
+ private int visina, sirina;\r
+ private int[][] mat;\r
+ private boolean[][] pos;\r
+\r
+ public int getSirina() {\r
+  return sirina;\r
+ }\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
+\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
+\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
+\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
+\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
Svarog.pmf.uns.ac.rs/gitweb maintanance Doni Pracner