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 GeneratorPrzyplywowPasazerow Instancja() { if (instancja == null) { instancja = new GeneratorPrzyplywowPasazerow(); } return(instancja); }
public void WygenerujLosowePrzyplywy(int iloscPrzyplywow, int liczbaPasazerow) { var generator = GeneratorPrzyplywowPasazerow.Instancja(); foreach (var przystanek in zarzadyTransportu[0].SiecPrzystankow) { generator.WygenerujLosowePrzyplywyDlaPrzystanku(przystanek, iloscPrzyplywow, liczbaPasazerow); } var czas = DateTime.Now.TimeOfDay.ToString().Replace(':', '-'); generator.Zapisz($"{ czas }.txt"); zarzadyTransportu[0].DodajPrzyplywy(generator.Przyplywy); }