X-Git-Url: http://svarog.pmf.uns.ac.rs/gitweb/?a=blobdiff_plain;f=PretrazivanjeSaVracanjem%2FLavirint%2FObjedinjenoResenje%2FMapa.java;h=a39c662ac284ec6068414181c93b7a7437bf3df7;hb=76ef3a4960a1d7351cf521bfacb350d72628d53a;hp=243ca682a115eb0555e52211fe59e4850ec7244d;hpb=3c24990b2b5db35d728a4a706ba4963d3c936a76;p=spa2-materijali.git diff --git a/PretrazivanjeSaVracanjem/Lavirint/ObjedinjenoResenje/Mapa.java b/PretrazivanjeSaVracanjem/Lavirint/ObjedinjenoResenje/Mapa.java index 243ca68..a39c662 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]; @@ -60,15 +69,11 @@ public class Mapa { } } Svetovid.closeIn(imeFajla); - } - - public static Mapa ucitajIzFajla(String imeFajla) { - if (!Svetovid.testIn(imeFajla)) { - return null; - } - - return new Mapa(imeFajla); - + Prikaz.boja(ZID, Prikaz.CRNA, null); + Prikaz.boja(IZLAZ, Prikaz.CRVENA, Prikaz.BELA); + Prikaz.boja(1, 20, Prikaz.SVETLO_ZELENA, Prikaz.ZELENA, Prikaz.CRNA); + Prikaz.boja(99, Prikaz.ZUTA, Prikaz.CRNA); + Prikaz.mapa("Lavirint", getSirina(), getVisina(), this::getMat); } public void stampaj() {