X-Git-Url: http://svarog.pmf.uns.ac.rs/gitweb/?p=spa2-materijali.git;a=blobdiff_plain;f=PretrazivanjeSaVracanjem%2FLavirint%2FObjedinjenoResenje%2FResenje.java;fp=PretrazivanjeSaVracanjem%2FLavirint%2FObjedinjenoResenje%2FResenje.java;h=0000000000000000000000000000000000000000;hp=dbabd6d5093c36742b03543f9f1845aa51cfcd33;hb=1b832014e4d2d31b2502f4688623140d722005b1;hpb=76ef3a4960a1d7351cf521bfacb350d72628d53a diff --git a/PretrazivanjeSaVracanjem/Lavirint/ObjedinjenoResenje/Resenje.java b/PretrazivanjeSaVracanjem/Lavirint/ObjedinjenoResenje/Resenje.java deleted file mode 100644 index dbabd6d..0000000 --- a/PretrazivanjeSaVracanjem/Lavirint/ObjedinjenoResenje/Resenje.java +++ /dev/null @@ -1,98 +0,0 @@ -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; - -import javafx.scene.paint.Color; - -/** - * Klasa Resenje koristi se za pamcenje puta kroz mapu. - */ -public class Resenje { - - // Pamtimo sva polja na putu - private ArrayList polja; - - // Dodato da se omoguci pristup poljima resenja "od spolja" (za proveru kvaliteta puta na primer), - // ali tako da ne moze da se utice na sam sadrzaj te liste - private List nepromenljivaListaPolja; - - // Potrebno za graficki prikaz - private String naziv; - - // Potrebno za graficki prikaz - private Resenje(String naziv, Color boja) { - polja = new ArrayList(); - nepromenljivaListaPolja = Collections.unmodifiableList(polja); - this.naziv = naziv; - Prikaz.put(naziv, polja, Polje::getX, Polje::getY, this::toString, boja); - } - - // Kreira novo prazno resenje - public Resenje() { - this("Trenutni", Prikaz.TIRKIZNA); - } - - // Kreira novo resenje sa istim sadrzajem kao original - public Resenje(Resenje original) { - this("Optimalan", Prikaz.LJUBICASTA); - polja.addAll(original.polja); - } - - // Dodaje polje u resenje - public void dodaj(int x, int y, int v) { - polja.add(new Polje(x, y, v)); - Prikaz.osveziPut(naziv); - } - - // Izbacuje poslednje polje iz resenja - public void izbaciKraj() { - if (getLength() > 0) { - polja.remove(getLength() - 1); - Prikaz.osveziPut(naziv); - } else { - throw new IllegalStateException("Resenje je vec prazno"); - } - } - - // Stampa resenje - public void stampaj() { - System.out.println(getLength()); - for (int i = 0; i < getLength(); i++) { - System.out.println(polja.get(i)); - } - Prikaz.put("Trenutni", null, null, null); - Prikaz.put("Optimalan", null, null, null); - Prikaz.put("Najbolji", polja, Polje::getX, Polje::getY, this::toString, Prikaz.LJUBICASTA); - } - - public String toString() { - return getVrednost() + "\u20ac " + getLength() + "m"; - } - - // Vraca duzinu resenja - public int getLength() { - return polja.size(); - } - - // Vraca i-to polje na putu - // Ne koristi se u ovoj verziji zadatka. Moze se koristiti za proveru kvaliteta resenja - public Polje getPolje(int i) { - return polja.get(i); - } - - // Vraca sva polja na putu - // Ne koristi se u ovoj verziji zadatka. Moze se koristiti za proveru kvaliteta resenja - public List getPolja() { - return nepromenljivaListaPolja; - } - - // Vraca vrednost puta - // Vrednost se definise kao zbir svih vrednosti polja na putu - public int getVrednost() { - int rez = 0; - for (Polje p : polja) { - rez = rez + p.getV(); - } - return rez; - } -}