gitweb on Svarog

projekti pod git sistemom za održavanje verzija -- projects under the git version control system
Lavirint, objedinjeno resenje, ubacen prikaz puteva
authorIvan Pribela <ivanpribela@gmail.com>
Mon, 27 Nov 2017 14:07:50 +0000 (15:07 +0100)
committerIvan Pribela <ivanpribela@gmail.com>
Mon, 27 Nov 2017 14:07:50 +0000 (15:07 +0100)
PretrazivanjeSaVracanjem/Lavirint/ObjedinjenoResenje/Resenje.java

index 9b92c19..84c1af5 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 put", Prikaz.TIRKIZNA);\r
        }\r
 \r
        // Kreira novo resenje sa istim sadrzajem kao original\r
        public Resenje(Resenje original) {\r
-               this();\r
+               this("Najbolji put", 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
Svarog.pmf.uns.ac.rs/gitweb maintanance Doni Pracner