static void DijkstraTest() { WayCreator wayCreator = new WayCreator(); City[] cities = CitiesInfo.Cities; int[,] distances = CitiesInfo.Distances; int[] citiesWeight = wayCreator.Dijkstra(distances, 3); for (int i = 0; i < cities.Length; i++) { Console.WriteLine(cities[i].Name + " " + citiesWeight[i]); } int index = 1; foreach (TwoWayLinkedList list in wayCreator.intermediateCities) { Console.Write(index++.ToString() + ". "); foreach (City city in list) { Console.Write(city.Name + " "); } Console.WriteLine(); } }
static void GetRouteTest() { WayCreator wayCreator = new WayCreator(); TwoWayLinkedList chosenCities = new TwoWayLinkedList(); City startPoint = CitiesInfo.Cities[0]; // Berlin chosenCities.PushLast(CitiesInfo.Cities[1]); // Kiev chosenCities.PushLast(CitiesInfo.Cities[6]); // Budapesht chosenCities.PushLast(CitiesInfo.Cities[2]); // Minsk //chosenCities.PushLast(CitiesInfo.Cities()[3]); // Warsaw chosenCities.PushLast(CitiesInfo.Cities[5]); // Vien chosenCities.PushLast(CitiesInfo.Cities[4]); // Prague TwoWayLinkedList route = wayCreator.GetRoute(chosenCities, startPoint); int index = 1; foreach (City city in route) { Console.WriteLine(index++.ToString() + ". " + city.Name); } }
static void CitiesInfo_Distances_NewTest() { WayCreator wayCreator = new WayCreator(); Random random = new Random(); TwoWayLinkedList chosenCities = new TwoWayLinkedList(); City startPoint = CitiesInfo.Cities[0]; foreach (City city in CitiesInfo.Cities) { if (!chosenCities.Contains(city)) { chosenCities.PushLast(city); } } TwoWayLinkedList route = wayCreator.GetRoute(chosenCities, startPoint); int index = 1; foreach (City city in route) { Console.WriteLine(index++.ToString() + ". " + city.Name); } }
void OnEnable() { creator = (WayCreator)target; style = new GUIStyle(); style.fontSize = 30; }