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]); } }
//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); }