X-Git-Url: http://svarog.pmf.uns.ac.rs/gitweb/?p=spa2-materijali.git;a=blobdiff_plain;f=PretrazivanjeSaVracanjem%2FLavirint%2FObjedinjenoResenje%2FMapa.java;h=243ca682a115eb0555e52211fe59e4850ec7244d;hp=246191bfbcf4f56b939780edbac444b03854e184;hb=3c24990b2b5db35d728a4a706ba4963d3c936a76;hpb=e9a069bea132ac74682a92ba56dad7f813992032 diff --git a/PretrazivanjeSaVracanjem/Lavirint/ObjedinjenoResenje/Mapa.java b/PretrazivanjeSaVracanjem/Lavirint/ObjedinjenoResenje/Mapa.java index 246191b..243ca68 100644 --- a/PretrazivanjeSaVracanjem/Lavirint/ObjedinjenoResenje/Mapa.java +++ b/PretrazivanjeSaVracanjem/Lavirint/ObjedinjenoResenje/Mapa.java @@ -44,24 +44,31 @@ public class Mapa { pos = new boolean[sirina][visina]; } - public static Mapa ucitajIzFajla(String imeFajla) { + public Mapa(String imeFajla) { if (!Svetovid.testIn(imeFajla)) { - return null; + throw new RuntimeException("Fajl za kreiranje mape (" + + imeFajla + ") nije prisupacan"); } - int sirina = Svetovid.in(imeFajla).readInt(); - int visina = Svetovid.in(imeFajla).readInt(); - if (sirina >= 0 && visina >= 0) { - Mapa res = new Mapa(sirina, visina); - for (int j = 0; j < visina; j++) - for (int i = 0; i < sirina; i++) - res.mat[i][j] = Svetovid.in(imeFajla).readInt(); - Svetovid.closeIn(imeFajla); - return res; - } else { - Svetovid.closeIn(imeFajla); + sirina = Svetovid.in(imeFajla).readInt(); + visina = Svetovid.in(imeFajla).readInt(); + mat = new int[sirina][visina]; + pos = new boolean[sirina][visina]; + for (int j = 0; j < visina; j++) { + for (int i = 0; i < sirina; i++) { + mat[i][j] = Svetovid.in(imeFajla).readInt(); + } + } + Svetovid.closeIn(imeFajla); + } + + public static Mapa ucitajIzFajla(String imeFajla) { + if (!Svetovid.testIn(imeFajla)) { return null; } + + return new Mapa(imeFajla); + } public void stampaj() { @@ -75,4 +82,8 @@ public class Mapa { } } } + + public String toString() { + return "Mapa velicine " + sirina + " x " + visina; + } }