예제 #1
0
        // Przejazd pojazdu przez skrzyżowanie
        public void Przejazd(Swiatla swiatla)
        {
            if (pojazdy.Count() == 0)
            {
                return;
            }
            Pojazd pojazd = pojazdy.First();

            if (swiatla.CzyZielone(zrodloSkrzyzowanaia, kierunkiSkrzyzowania[kierunki.FindIndex(k => k == pojazd.KolejneSkrzyzowanie())]))
            {
                pojazdy.Dequeue();
                pojazd.RuszZeSwiatel();
            }
        }
예제 #2
0
 public void DojazdPojazdu(Pojazd pojazd)
 {
     skrzyzowania.First(s => s.PodajId() == pojazd.NajblizszeSkrzyzowanie()).DodajPojazd(pojazd);
 }
예제 #3
0
 public void DodajPojazd(Pojazd pojazd)
 {
     pasyRuchu.Where(p => p.Zrodlo() == pojazd.PoprzednieSkrzyzowanie() && p.CzyKierunek(pojazd.KolejneSkrzyzowanie()))
     .OrderBy(p => p.ZajetychMiejsc()).First().DodajPojazd(pojazd);
 }
예제 #4
0
 public void DodajPojazd(Pojazd pojazd)
 {
     pojazd.Zatrzymaj();
     pojazdy.Enqueue(pojazd);
 }