From: Ivan Pribela Date: Mon, 27 Nov 2017 13:57:32 +0000 (+0100) Subject: Lavirint, objedinjeno resenje, doterana klasa Mapa X-Git-Url: http://svarog.pmf.uns.ac.rs/gitweb/?p=spa2-materijali.git;a=commitdiff_plain;h=a70aa3aae9d0539ccc18e2fbdc6d6ac8a2a6c3d6 Lavirint, objedinjeno resenje, doterana klasa Mapa --- diff --git a/PretrazivanjeSaVracanjem/Lavirint/ObjedinjenoResenje/Lavirint.java b/PretrazivanjeSaVracanjem/Lavirint/ObjedinjenoResenje/Lavirint.java index c4c1980..e127633 100644 --- a/PretrazivanjeSaVracanjem/Lavirint/ObjedinjenoResenje/Lavirint.java +++ b/PretrazivanjeSaVracanjem/Lavirint/ObjedinjenoResenje/Lavirint.java @@ -16,7 +16,7 @@ public class Lavirint { // Ucitava mapu iz datog fajla i stampa je na ekran Lavirint(String imeFajla) { - m = Mapa.ucitajIzFajla(imeFajla); + m = new Mapa(imeFajla); m.stampaj(); } diff --git a/PretrazivanjeSaVracanjem/Lavirint/ObjedinjenoResenje/Mapa.java b/PretrazivanjeSaVracanjem/Lavirint/ObjedinjenoResenje/Mapa.java index 243ca68..6720507 100644 --- a/PretrazivanjeSaVracanjem/Lavirint/ObjedinjenoResenje/Mapa.java +++ b/PretrazivanjeSaVracanjem/Lavirint/ObjedinjenoResenje/Mapa.java @@ -1,10 +1,21 @@ + +/** + * Klasa Mapa koristi se za reprezentaciju lavirint i njegovih polja. + */ public class Mapa { + + // Vrednosti polja i njihova znacenja public final static int IZLAZ = -5; public final static int ZID = -1; - public final static int ERROR = Integer.MIN_VALUE; + public final static int GRESKA = Integer.MIN_VALUE; + // Dimenzije mape private int visina, sirina; + + // Polja mape private int[][] mat; + + // Prilikom pretrazivanja ovde mozemo pamtiti koja polja smo posetili a koja nismo private boolean[][] pos; public int getSirina() { @@ -33,7 +44,7 @@ public class Mapa { if (0 <= x && x < sirina && 0 <= y && y < visina) { return mat[x][y]; } else { - return ERROR; + return GRESKA; } } @@ -46,10 +57,8 @@ public class Mapa { public Mapa(String imeFajla) { if (!Svetovid.testIn(imeFajla)) { - throw new RuntimeException("Fajl za kreiranje mape (" - + imeFajla + ") nije prisupacan"); + throw new RuntimeException("Fajl za kreiranje mape (" + imeFajla + ") nije prisupacan"); } - sirina = Svetovid.in(imeFajla).readInt(); visina = Svetovid.in(imeFajla).readInt(); mat = new int[sirina][visina]; @@ -62,15 +71,6 @@ public class Mapa { Svetovid.closeIn(imeFajla); } - public static Mapa ucitajIzFajla(String imeFajla) { - if (!Svetovid.testIn(imeFajla)) { - return null; - } - - return new Mapa(imeFajla); - - } - public void stampaj() { if (visina != 0 && sirina != 0) { System.out.println(visina + " " + sirina);