gitweb on Svarog

projekti pod git sistemom za održavanje verzija -- projects under the git version control system
Lavirint, objedinjeno resenje, doterana klasa Lavirint
[spa2-materijali.git] / PretrazivanjeSaVracanjem / Lavirint / NajboljiPut / Mapa.java
1 public class Mapa {
2 public final static int IZLAZ = -99;
3 public final static int ZID = -11;
4 public final static int ERROR = Integer.MIN_VALUE;
6 private int visina, sirina;
7 private int[][] mat;
8 private boolean[][] pos;
10 public int getSirina() {
11 return sirina;
12 }
14 public int getVisina() {
15 return visina;
16 }
18 public void setPos(int x, int y, boolean b) {
19 if (0 <= x && x < sirina && 0 <= y && y < visina) {
20 pos[x][y] = b;
21 }
22 }
24 public boolean getPos(int x, int y) {
25 if (0 <= x && x < sirina && 0 <= y && y < visina) {
26 return pos[x][y];
27 } else {
28 return true;
29 }
30 }
32 public int getMat(int x, int y) {
33 if (0 <= x && x < sirina && 0 <= y && y < visina) {
34 return mat[x][y];
35 } else {
36 return ERROR;
37 }
38 }
40 public Mapa(int sirina, int visina) {
41 this.sirina = sirina;
42 this.visina = visina;
43 mat = new int[sirina][visina];
44 pos = new boolean[sirina][visina];
45 }
47 public Mapa(String imeFajla) {
48 if (!Svetovid.testIn(imeFajla)) {
49 throw new RuntimeException("Fajl za kreiranje mape ("
50 + imeFajla + ") nije prisupacan");
51 }
53 sirina = Svetovid.in(imeFajla).readInt();
54 visina = Svetovid.in(imeFajla).readInt();
55 mat = new int[sirina][visina];
56 pos = new boolean[sirina][visina];
57 for (int j = 0; j < visina; j++) {
58 for (int i = 0; i < sirina; i++) {
59 mat[i][j] = Svetovid.in(imeFajla).readInt();
60 }
61 }
62 Svetovid.closeIn(imeFajla);
63 }
65 public static Mapa ucitajIzFajla(String imeFajla) {
66 if (!Svetovid.testIn(imeFajla)) {
67 return null;
68 }
70 return new Mapa(imeFajla);
72 }
74 public void stampaj() {
75 if (visina != 0 && sirina != 0) {
76 System.out.println(visina + " " + sirina);
77 for (int j = 0; j < visina; j++) {
78 for (int i = 0; i < sirina; i++) {
79 System.out.print(mat[i][j] + "\t");
80 }
81 System.out.println();
82 }
83 }
84 }
86 public String toString() {
87 return "Mapa velicine " + sirina + " x " + visina;
88 }
89 }
Svarog.pmf.uns.ac.rs/gitweb maintanance Doni Pracner