Ejemplo n.º 1
0
        static void Main()  //static void Main(string[] args)
        {
            Tornjevi.brojacIdentifikacijskogBroja = 1;
            odaberiBrojDiskova();
            odaberiAlgoritam();

            Cvor pocetniCvor = stvoriPocetniCvor();
            Cvor ciljniCvor  = stvoriCiljniCvor();

            Tornjevi.otvoreniCvorovi.Add(pocetniCvor);

            Cvor trenutniCvor = new Cvor();

            while (true)
            {
                trenutniCvor = Tornjevi.otvoreniCvorovi[0];
                Tornjevi.otvoreniCvorovi.Remove(trenutniCvor);
                Tornjevi.posjeceniCvorovi.Add(trenutniCvor);
                if (trenutniCvor.jednak(ciljniCvor))
                {
                    break;
                }
                prosiriCvor(trenutniCvor);
            }

            napuniListuZaCrtanje(trenutniCvor);

            for (int redniBroj = 0; redniBroj < Tornjevi.ListaZaCrtati.Count; redniBroj++)
            {
                Cvor.crtajCvor(Tornjevi.ListaZaCrtati[redniBroj]);
            }
        }
Ejemplo n.º 2
0
 //metoda vraća true ako je stanje već bilo obrađeno, inače false
 public static bool posjeceniSadrze(Cvor trenutniCvor)
 {
     for (int redniBroj = 0; redniBroj < Tornjevi.posjeceniCvorovi.Count; redniBroj++)
     {
         if (trenutniCvor.jednak(Tornjevi.posjeceniCvorovi[redniBroj]))
         {
             return(true);
         }
     }
     return(false);
 }