public Map(GeneratedMap map, string poczatek, string koniec) //utworzenie mapy, podać miejscowość początkową i końcową { mapa = map; initial = FindNameOfCity(poczatek); goal = FindNameOfCity(koniec); Console.WriteLine("ZADANIE: Z " + initial.Name + " Do " + goal.Name); }
static void Main(string[] args) { //--------------------------------------------------------------------------------------------- Console.Write("\nMAPA RUMUNII\n\n"); GeneratedMap generuj = new GeneratedMap(); Map map = new Map(generuj, "Oradea", "Lugoj"); TreeSearch PrzeszukiwanieMapy = new TreeSearch(); Console.Write("\n\n--KOLEJKA:\n-----------------------------\n"); QueueFringe <Node <Miasto> > FringeQueueMap = new QueueFringe <Node <Miasto> >(); Node <Miasto> WynikQueueMap = PrzeszukiwanieMapy.TreeSearchMethodMap(map, FringeQueueMap); Console.WriteLine("\n"); Console.WriteLine("PRZEBYTA DROGA: \n"); WyswietlSciezke(WynikQueueMap); Console.ReadKey(); Console.Write("\n\n--KOLEJKA PRIORYTETOWA\n-----------------------------\n"); QueueFringe_Priorytet <Node <Miasto> > FringePriorityQueue = new QueueFringe_Priorytet <Node <Miasto> >(map.Distance_Priority()); Node <Miasto> WynikPriorityQueue = PrzeszukiwanieMapy.TreeSearchMethodMap(map, FringePriorityQueue); Console.WriteLine("\n"); Console.WriteLine("PRZEBYTA DROGA: \n"); WyswietlSciezke(WynikPriorityQueue); Console.ReadKey(); Console.Write("\n\n--STOS\n-----------------------------\n"); StackFringe <Node <Miasto> > FringeStackMap = new StackFringe <Node <Miasto> >(); Node <Miasto> WynikStackMap = PrzeszukiwanieMapy.TreeSearchMethodMap(map, FringeStackMap); Console.WriteLine("\n"); Console.WriteLine("PRZEBYTA DROGA: \n"); WyswietlSciezke(WynikStackMap); Console.ReadKey(); Console.Write("\n\n--A*\n-----------------------------\n"); A_z_gwiazdka <Node <Miasto> > FringeA = new A_z_gwiazdka <Node <Miasto> >(map.Distance_A()); Node <Miasto> WynikAMap = PrzeszukiwanieMapy.TreeSearchMethodMap(map, FringeA); Console.WriteLine("\n"); Console.WriteLine("PRZEBYTA DROGA: \n"); WyswietlSciezke(WynikAMap); Console.ReadKey(); //--------------------------------------------------------------------------------------------- byte[] init = new byte[8] { 0, 5, 3, 4, 5, 6, 2, 1 }; Console.Write("\n\nPROGRAM nHETMANów\n\n"); _8hetman Hetmany = new _8hetman(init); TreeSearch PrzeszukiwanieHetman = new TreeSearch(); //tworzenie nowego obiektu TreeSearch Console.Write("\n\n--STOS\n-----------------------------\n"); StackFringe <Node <byte[]> > FringeStackHetman = new StackFringe <Node <byte[]> >(); //stos Node <byte[]> WynikStack = PrzeszukiwanieHetman.TreeSearchMethod(Hetmany, FringeStackHetman); //TreeSearchWithStack to metoda obiektu Console.WriteLine("\n"); Hetmany.PrintState(WynikStack.StateOfNode); Console.ReadKey(); Console.Write("\n\n--KOLEJKA:\n-----------------------------\n"); QueueFringe <Node <byte[]> > FringeQueueHetman = new QueueFringe <Node <byte[]> >(); //kolejka zwykla Node <byte[]> WynikQueue = PrzeszukiwanieHetman.TreeSearchMethod(Hetmany, FringeQueueHetman); //TreeSearchWithStack to metoda obiektu Console.WriteLine("\n"); Hetmany.PrintState(WynikQueue.StateOfNode); Console.ReadKey(); Console.Write("\n\n--KOLEJKA PRIORYTETOWA:\n-----------------------------\n"); QueueFringe_Priorytet <Node <byte[]> > FringePriorityHetman = new QueueFringe_Priorytet <Node <byte[]> >(Hetmany.Distance()); Node <byte[]> WynikQueuePriority = PrzeszukiwanieHetman.TreeSearchMethod(Hetmany, FringePriorityHetman); //TreeSearchWithStack to metoda obiektu Console.WriteLine("\n"); Hetmany.PrintState(WynikQueuePriority.StateOfNode); Console.ReadKey(); //--------------------------------------------------------------------------------------------- Console.Write("\n\nPROGRAM PRZESUWANKA\n"); byte[,] initial = { { 4, 2, 0 }, { 7, 3, 5 }, { 1, 6, 8 } }; byte[,] goal = { { 0, 1, 2 }, { 3, 4, 5 }, { 6, 7, 8 } }; Przesuwanka przesuwanka = new Przesuwanka(initial, goal); TreeSearch PrzeszukiwaniePrzesuwanki = new TreeSearch(); Console.Write("\n\n--KOLEJKA:\n-----------------------------\n"); QueueFringe <Node <byte[, ]> > FringeQueuePrzesuwanka = new QueueFringe <Node <byte[, ]> >(); Node <byte[, ]> WynikKolejka = PrzeszukiwaniePrzesuwanki.TreeSearchMethod(przesuwanka, FringeQueuePrzesuwanka); Console.WriteLine("\n"); przesuwanka.PrintState(WynikKolejka.StateOfNode); WyswietlSciezke(WynikKolejka); Console.ReadKey(); Console.Write("\n\n--KOLEJKA PRIORYTETOWA:\n-----------------------------\n"); QueueFringe_Priorytet <Node <byte[, ]> > FringePriorityPrzesuwanka = new QueueFringe_Priorytet <Node <byte[, ]> >(przesuwanka.Distance()); Node <byte[, ]> WynikKolejkaPriorytet = PrzeszukiwaniePrzesuwanki.TreeSearchMethod(przesuwanka, FringePriorityPrzesuwanka); Console.WriteLine("\n"); przesuwanka.PrintState(WynikKolejkaPriorytet.StateOfNode); Console.ReadKey(); Console.Write("\n\n--STOS\n-----------------------------\n"); StackFringe <Node <byte[, ]> > FringeStackPrzesuwanka = new StackFringe <Node <byte[, ]> >(); Node <byte[, ]> WynikStos = PrzeszukiwaniePrzesuwanki.TreeSearchMethod(przesuwanka, FringeStackPrzesuwanka); Console.WriteLine("\n"); przesuwanka.PrintState(WynikStos.StateOfNode); Console.ReadKey(); }