public GraphCity CreateGraph( CitiesLocations citiesLocations, CitiesConnections citiesConnections) { var graph = new GraphCity(); Coordinates tempStartCityCoordinates, tempEndCityCoordinates; foreach (City city in citiesLocations.locations.Keys) { citiesLocations.locations.TryGetValue(city, out tempStartCityCoordinates); graph.AddVertex(new VertexCity(new City(city), new Coordinates(tempStartCityCoordinates))); } List<City> tempCityConnections = new List<City>(); foreach (City startCity in citiesConnections.connections.Keys) { citiesLocations.locations.TryGetValue(startCity, out tempStartCityCoordinates); citiesConnections.connections.TryGetValue(startCity, out tempCityConnections); foreach (City endCity in tempCityConnections) { citiesLocations.locations.TryGetValue(endCity, out tempEndCityCoordinates); graph.AddEdge(new EdgeCity( new VertexCity(new City(startCity), new Coordinates(tempStartCityCoordinates)), new VertexCity(new City(endCity), new Coordinates(tempEndCityCoordinates)))); } } return (graph); }
public GraphCity CreateGraph( CitiesLocations citiesLocations, CitiesConnections citiesConnections) { var graph = new GraphCity(); Coordinates tempStartCityCoordinates, tempEndCityCoordinates; foreach (City city in citiesLocations.locations.Keys) { citiesLocations.locations.TryGetValue(city, out tempStartCityCoordinates); graph.AddVertex(new VertexCity(new City(city), new Coordinates(tempStartCityCoordinates))); } List <City> tempCityConnections = new List <City>(); foreach (City startCity in citiesConnections.connections.Keys) { citiesLocations.locations.TryGetValue(startCity, out tempStartCityCoordinates); citiesConnections.connections.TryGetValue(startCity, out tempCityConnections); foreach (City endCity in tempCityConnections) { citiesLocations.locations.TryGetValue(endCity, out tempEndCityCoordinates); graph.AddEdge(new EdgeCity( new VertexCity(new City(startCity), new Coordinates(tempStartCityCoordinates)), new VertexCity(new City(endCity), new Coordinates(tempEndCityCoordinates)))); } } return(graph); }
public LogicManager(MainWindow _window) { graphToVisualize = null; citiesLocations = null; citiesConnections = null; defaultCitiesLocations = new CitiesLocations(); defaultCitiesConnections = new CitiesConnections(); algCitiesLocations = new CitiesLocations(); startCity = null; finalCity = null; algSpeed = Alg_Speed.Fast; algHeuristic = Heuristic.Distance; resources = _window.Resources; window = _window; graphManager = new GraphManager(window); algorithm = null; algThread = null; IsRunningAlg = false; }
/// <summary> /// Создает объект с информацией о захвате населенного пункта. /// </summary> /// <param name="ent">Объект населенного пункта, который захвачен</param> /// <param name="coal">Номер захватывающей коалиция</param> public Victory(GraphCity ent, int coal) { Coalition = coal; NameCity = ent.Name_en; }
/// <summary> /// Create a new graph based on locations and connections data /// </summary> public void CreateGraph() { graphToVisualize = graphManager.CreateGraph(citiesLocations, citiesConnections); }