public void Wyjdz(Samochod samochod) { if (samochod == lewyPojazd) { lewyPojazd = null; } else if (samochod == prawyPojazd) { prawyPojazd = null; } else { throw new Exception("Nieprawidłowy obiekt na wejściu"); } }
public void Wyjdz(Samochod samochod) { PrzejscieDlaPieszych.Wyjedz(samochod); if (samochod == lewyPojazd) { lewyPojazd = null; } else if (samochod == prawyPojazd) { prawyPojazd = null; } else { throw new Exception("Niepoprawny obiekt na wejściu"); } }
public void Wyjdz(Samochod samochod) { if (samochod == pojazd[0]) { pojazd[0] = null; przecinaneKwadraty[0] = null; } else if (samochod == pojazd[1]) { pojazd[1] = null; przecinaneKwadraty[1] = null; } else { throw new Exception("Nieprawidłowy obiekt na wejściu"); } }
public void Wejdz(Samochod samochod) { if (pojazd[0] == null) { pojazd[0] = samochod; przecinaneKwadraty[0] = WyznaczPrzecinanieDrogi(samochod); } else if (pojazd[1] == null) { pojazd[1] = samochod; przecinaneKwadraty[1] = WyznaczPrzecinanieDrogi(samochod); } else { throw new Exception("Nieprawidłowy obiekt na wejściu"); } }
public bool CzyMogeWejsc(Samochod samochod) { if (PrzejscieDlaPieszych.CzyMogeWejsc(samochod)) { if (Punkt <double> .ZwrocRelacje(samochod.ObecnaPozycja.Pozycja, pozycja) == Relacja.Pionowe) { if (samochod.ObecnaPozycja.Pozycja.Y > pozycja.Y) { return(lewyPojazd == null); } else { return(prawyPojazd == null); } } else if (Punkt <double> .ZwrocRelacje(samochod.ObecnaPozycja.Pozycja, pozycja) == Relacja.Poziome) { if (samochod.ObecnaPozycja.Pozycja.X > pozycja.X) { return(prawyPojazd == null); } else { return(lewyPojazd == null); } } else { throw new Exception("Nieprawidłowy obiekt na wejściu"); } } else { return(false); } }
private bool[] WyznaczPrzecinanieDrogi(Samochod samochod) { bool[] tab = new bool[4]; int wejscie = -1; if (samochod.ObecnaPozycja.Pozycja.X < pozycja.X)//lewo { wejscie = 2; } else if (samochod.ObecnaPozycja.Pozycja.X > pozycja.X)//prawo { wejscie = 1; } else if (samochod.ObecnaPozycja.Pozycja.Y < pozycja.Y)//prawo { wejscie = 0; } else if (samochod.ObecnaPozycja.Pozycja.Y > pozycja.Y)//prawo { wejscie = 3; } else { return(tab); } tab[wejscie] = true; int wyjscie = -1; if (samochod.Cel.Pozycja.X < pozycja.X)//lewo { wyjscie = 0; } else if (samochod.Cel.Pozycja.X > pozycja.X)//prawo { wyjscie = 3; } else if (samochod.Cel.Pozycja.Y < pozycja.Y)//prawo { wyjscie = 1; } else if (samochod.Cel.Pozycja.Y > pozycja.Y)//prawo { wyjscie = 2; } tab[wyjscie] = true; if (wejscie == 3 && wyjscie == 0) { tab[1] = true; } else if (wejscie == 2 && wyjscie == 1) { tab[3] = true; } else if (wejscie == 0 && wyjscie == 3) { tab[2] = true; } else if (wejscie == 1 && wyjscie == 2) { tab[0] = true; } return(tab); }