/// <summary> /// Wyznaczanie celu podrozy poprzez wybranie wioski ktora ma najmniej surowca ktory posiada handlarz /// </summary> /// <param name="handlarz"></param> /// <returns></returns> public Osada wyznaczCelPodrozy(Handlarz handlarz) { Osada cel = listaOsad.FirstOrDefault(); Zasob najmniej = new Zasob(handlarz.zwrocWoz().NazwaPrzewozonegoZasobu(), 10000, 0); foreach (Osada osada in listaOsad) { bool warunekWolnosciOsady = false; foreach (Handlarz temp in listaHandlarzy) { if (temp.zwrocCelPodrozy() == osada && temp.zwrocWoz().NazwaPrzewozonegoZasobu() == handlarz.zwrocWoz().NazwaPrzewozonegoZasobu()) { warunekWolnosciOsady = true; break; } } if (warunekWolnosciOsady) { continue; } Magazyn magazyn = osada.magazyny(); foreach (KeyValuePair <string, Zasob> para in magazyn.pobierzStanMagazynu()) { if (para.Key.Equals(najmniej.nazwaZasobu())) { if (najmniej.iloscZasobu() > para.Value.iloscZasobu()) { najmniej = para.Value; cel = osada; break; } } } } return(cel); }
public void dodajOsade(Osada osada) { this.listaOsad.Add(osada); }
public void reczneUstawienieCelu(Osada osada) { this.celPodrozy = osada; }
/// <summary> /// laduje dany towar na woz /// i ustala sobie na podstawie tego co zaladowal nowy cel podróży. /// </summary> /// <param name="towar"></param> public void ladujTowar(KeyValuePair<string, Zasob> towar) { woz.laduj(towar); celPodrozy = WyznaczCelPodrozy(); }
/// <summary> /// laduje dany towar na woz /// i ustala sobie na podstawie tego co zaladowal nowy cel podróży. /// </summary> /// <param name="towar"></param> public void ladujTowar(KeyValuePair <string, Zasob> towar) { woz.laduj(towar); celPodrozy = WyznaczCelPodrozy(); }