/// <summary> /// (w takiej prostej strategi przyjmuje ze kazda osoba wykorzystuje 1 kazdego surowca w wiosce, dodatkowo produkujac 2 surowca /// ktory jest wydobywany w danej wiosce) /// </summary> /// <param name="magazyn"></param> /// <param name="potencjalWydobywczy"></param> /// <param name="liczbaLudnosci"></param> public void aktualizujStanyMagazynowe(Magazyn magazyn, PotencjalWydobywczy potencjalWydobywczy, int liczbaLudnosci) { //Dictionary<string, Zasob> stan = magazyn.pobierzStanMagazynu(); Jesli chcialbym pobierac stan magazynu zmieniac i wysylac do magazynu foreach (KeyValuePair<string, Zasob> pair in magazyn.pobierzStanMagazynu()) { if (potencjalWydobywczy.pobierzPotencjal().Contains(pair.Key)) { pair.Value.zmienIloscZasobu(3*liczbaLudnosci);//zmiana w zwiazku z potencjalem wydobywczym } pair.Value.zmienIloscZasobu(-(liczbaLudnosci/3)); // zmiana w zwiazku z populacja } }
/// <summary> /// (w takiej prostej strategi przyjmuje ze kazda osoba wykorzystuje 1 kazdego surowca w wiosce, dodatkowo produkujac 2 surowca /// ktory jest wydobywany w danej wiosce) /// </summary> /// <param name="magazyn"></param> /// <param name="potencjalWydobywczy"></param> /// <param name="liczbaLudnosci"></param> public void aktualizujStanyMagazynowe(Magazyn magazyn, PotencjalWydobywczy potencjalWydobywczy, int liczbaLudnosci) { //Dictionary<string, Zasob> stan = magazyn.pobierzStanMagazynu(); Jesli chcialbym pobierac stan magazynu zmieniac i wysylac do magazynu foreach (KeyValuePair <string, Zasob> pair in magazyn.pobierzStanMagazynu()) { if (potencjalWydobywczy.pobierzPotencjal().Contains(pair.Key)) { pair.Value.zmienIloscZasobu(3 * liczbaLudnosci); //zmiana w zwiazku z potencjalem wydobywczym } pair.Value.zmienIloscZasobu(-(liczbaLudnosci / 3)); // zmiana w zwiazku z populacja } }
//############################### KONSTRUKTOR ######################################### public Osada(IStrategiaOsady strategia, IStrategiaHandlu strategiaHandlu, string nazwa, Magazyn magazyn, Populacja populacja, PotencjalWydobywczy potencjalWydobywczy, Point pozycja) { this.nazwa = nazwa; this.populacja = populacja; this.magazyn = magazyn; this.targ = new Targ(magazyn, strategiaHandlu, potencjalWydobywczy.pobierzPotencjal()); this.strategia = strategia; this.potencjalWydobywczy = potencjalWydobywczy; this.pozycja = pozycja; }