gitweb on Svarog

projekti pod git sistemom za održavanje verzija -- projects under the git version control system
Lavirint, objedinjeno resenje, ubaceno brisanje putev na kraju rada
[spa2-materijali.git] / PretrazivanjeSaVracanjem / Lavirint / ObjedinjenoResenje / Resenje.java
index 9b92c19..dbabd6d 100644 (file)
@@ -2,6 +2,8 @@ import java.util.ArrayList;
 import java.util.Collections;\r
 import java.util.List;\r
 \r
+import javafx.scene.paint.Color;\r
+\r
 /**\r
  * Klasa Resenje koristi se za pamcenje puta kroz mapu.\r
  */\r
@@ -14,27 +16,39 @@ public class Resenje {
        // ali tako da ne moze da se utice na sam sadrzaj te liste\r
        private List<Polje> nepromenljivaListaPolja;\r
 \r
-       // Kreira novo prazno resenje\r
-       public Resenje() {\r
+       // Potrebno za graficki prikaz\r
+       private String naziv;\r
+\r
+       // Potrebno za graficki prikaz\r
+       private Resenje(String naziv, Color boja) {\r
                polja = new ArrayList<Polje>();\r
                nepromenljivaListaPolja = Collections.unmodifiableList(polja);\r
+               this.naziv = naziv;\r
+               Prikaz.put(naziv, polja, Polje::getX, Polje::getY, this::toString, boja);\r
+       }\r
+\r
+       // Kreira novo prazno resenje\r
+       public Resenje() {\r
+               this("Trenutni", Prikaz.TIRKIZNA);\r
        }\r
 \r
        // Kreira novo resenje sa istim sadrzajem kao original\r
        public Resenje(Resenje original) {\r
-               this();\r
+               this("Optimalan", Prikaz.LJUBICASTA);\r
                polja.addAll(original.polja);\r
        }\r
 \r
        // Dodaje polje u resenje\r
        public void dodaj(int x, int y, int v) {\r
                polja.add(new Polje(x, y, v));\r
+               Prikaz.osveziPut(naziv);\r
        }\r
 \r
        // Izbacuje poslednje polje iz resenja\r
        public void izbaciKraj() {\r
                if (getLength() > 0) {\r
                        polja.remove(getLength() - 1);\r
+                       Prikaz.osveziPut(naziv);\r
                } else {\r
                        throw new IllegalStateException("Resenje je vec prazno");\r
                }\r
@@ -43,8 +57,12 @@ public class Resenje {
        // Stampa resenje\r
        public void stampaj() {\r
                System.out.println(getLength());\r
-               for (int i = 0; i < getLength(); i++)\r
+               for (int i = 0; i < getLength(); i++) {\r
                        System.out.println(polja.get(i));\r
+               }\r
+               Prikaz.put("Trenutni", null, null, null);\r
+               Prikaz.put("Optimalan", null, null, null);\r
+               Prikaz.put("Najbolji", polja, Polje::getX, Polje::getY, this::toString, Prikaz.LJUBICASTA);\r
        }\r
 \r
        public String toString() {\r
Svarog.pmf.uns.ac.rs/gitweb maintanance Doni Pracner