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