public Symulacja(string sciezkaPlikuKonfiguracji) { zarzadyTransportu = new List <SynchronicznyZarzadTransportu>(); using (var sr = File.OpenText(sciezkaPlikuKonfiguracji)) { var dane = sr.ReadLine().Split('|'); sciezkaPlikuTla = dane[0]; tlo = Image.FromFile(sciezkaPlikuTla); szerokoscMapy = Convert.ToInt32(dane[2]); wysokoscMapy = Convert.ToInt32(dane[3]); czyGenerowacLinieOdwrotne = (dane[4] == "1") ? true : false; if (dane.Length == 6) { sciezkaPlikuPrzyplywow = dane[5]; } else { sciezkaPlikuPrzyplywow = null; } do { var zt = SynchronicznyZarzadTransportu.OdczytajPlik(sr.ReadLine()); zarzadyTransportu.Add(zt); if (czyGenerowacLinieOdwrotne) { zt.DodajLiniePowrotne(); } } while (!sr.EndOfStream); using (var srPrzejazdy = File.OpenText(dane[1])) { do { var danePrzejazdu = srPrzejazdy.ReadLine().Split('|'); var zt = ZwrocZarzadPosiadajacyFirmeDanejKonfiguracji(danePrzejazdu[1]); zt.DodajPrzejazdDoListy(danePrzejazdu[0], danePrzejazdu[1], danePrzejazdu[2], danePrzejazdu[3]); zt.StworzRozkladJazdyNaPrzystankach(); } while (!srPrzejazdy.EndOfStream); } } GeneratorPasazerow.Instancja(zarzadyTransportu[0].SiecPrzystankow, zarzadyTransportu[0].ListaLinii); var generator = GeneratorPrzyplywowPasazerow.Instancja(); if (DaneWczytane) { generator.OdczytajPlik(sciezkaPlikuPrzyplywow, zarzadyTransportu[0]); zarzadyTransportu[0].DodajPrzyplywy(generator.Przyplywy); } WizualizatorMapy.Instancja(sciezkaPlikuTla, szerokoscMapy, wysokoscMapy); }
public static GeneratorPasazerow Instancja(IEnumerable <Przystanek> siecPrzystankow, IEnumerable <Linia> linie) { if (instancja == null) { instancja = new GeneratorPasazerow(siecPrzystankow, linie); } return(instancja); }
public void WygenerujLosowePrzyplywyDlaPrzystanku(Przystanek przystanek, int iloscPrzyplywow, int iloscPasazerow) { for (int i = 0; i < iloscPrzyplywow; i++) { var przyplyw = new PrzyplywPasazerow(WygenerujLosowyCzas(), przystanek); for (int j = 0; j < iloscPasazerow; j++) { przyplyw.DodajPasazera(GeneratorPasazerow.Instancja().WygenerujLosowegoPasazera(przyplyw.czasPrzyplywu)); } przyplywyPasazerow.Add(przyplyw); } }