public void DodajPojazd(Pojazd pojazd) { pasyRuchu.Where(p => p.Zrodlo() == pojazd.PoprzednieSkrzyzowanie() && p.CzyKierunek(pojazd.KolejneSkrzyzowanie())) .OrderBy(p => p.ZajetychMiejsc()).First().DodajPojazd(pojazd); }
// 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(); } }