public GeneratorPolaczenPieszych(int rozmiarMapyX, int rozmiarMapyY, GeneratorPolaczenSamochodow generatorPolaczen, GeneratorPrzestrzeni generatorBudynkow) { GRANICA_DOLNA = rozmiarMapyY * 2 - 1; GRANICA_PRAWA = rozmiarMapyX * 2 - 1; WierzcholkiChodnikow = generatorBudynkow.WierzcholkiChodnikow; Chodniki = generatorBudynkow.Chodniki; OdwzorujChodnikiZDrog(generatorPolaczen); LaczChodniki(); RedukujPolaczenia(); OznaczPunktyWejscia(); PrzeszukiwanieDFS przeszukiwanieDFS = new PrzeszukiwanieDFS(WierzcholkiChodnikow.ConvertAll(o => (WierzcholekGrafu)o)); if (!przeszukiwanieDFS.CzyGrafSpojny()) { throw new Exception("Graf połączeń pieszych nie spójny"); } }
public GeneratorPolaczenSamochodow(int rozmiarMapyX, int rozmiarMapyY, int liczbaWejsc) { GRANICA_PRAWA = this.rozmiarMapyX = rozmiarMapyX; GRANICA_DOLNA = this.rozmiarMapyY = rozmiarMapyY; this.liczbaWejsc = liczbaWejsc; WylosujPunktyWejscia(); GenerujPoloczeniaKonieczne(); LaczSkrzyzowania(); RedukujPolaczenia(); GenerujPrzejsciaPieszych(); ZamienDrogiNaWierzcholki(); UstawObiektyWejscia(); PrzeszukiwanieDFS przeszukiwanieDFS = new PrzeszukiwanieDFS(WierzcholkiDrog.ConvertAll(o => (WierzcholekGrafu)o)); if (!przeszukiwanieDFS.CzyGrafSpojny()) { throw new Exception("Graf połączeń drogowych nie spójny"); } }