public virtual void RozsirBudovu(Budova budovaKRozsireni) { budovaKRozsireni.ZobrazInformace(); if (budovaKRozsireni.Level != budovaKRozsireni.MaxLevel) { if (budovaKRozsireni.JsouSurovinyNaRozsireni()) { Console.WriteLine("Budova byla rozšířena na level " + (budovaKRozsireni.Level + 1)); budovaKRozsireni.ZvysLevelBudovy(); } else { Console.WriteLine("Nejsou dostupné suroviny na rozšíření budovy"); } } else { Console.WriteLine("Budova dosáhla maximální úrovně"); } Console.WriteLine("\n1 -> Zpět"); int volba = Hra.VyberZnabidky(1); budovaKRozsireni.Nahled(); }
public override void RozsirBudovu(Budova budovaKRozsireni) { if (budovaKRozsireni != null) { if ((budovaKRozsireni.Level != budovaKRozsireni.MaxLevel) && (budovaKRozsireni.JeOdemknutaVProvincii())) { if (budovaKRozsireni.JsouSurovinyNaRozsireni()) { budovaKRozsireni.ZvysLevelBudovy(); } else { if (Hra.AktualniProvincie.Budovy[3].Level == 0) //tržiště { if (Hra.AktualniProvincie.Budovy[3].JsouSurovinyNaRozsireni()) { RozsirBudovu(Hra.AktualniProvincie.Budovy[3]); //Tržiště } } else { if (budovaKRozsireni.CenaZlato > Hra.AktualniProvincie.Zlato) //Koupě zlata { int kolikChybiZlata = budovaKRozsireni.CenaZlato - Hra.AktualniProvincie.Zlato; int kolikMoznoProdat = 0; if (Hra.AktualniProvincie.Drevo / ((Trziste)Hra.AktualniProvincie.Budovy[3]).PomerDreva >= kolikChybiZlata) { kolikMoznoProdat = kolikChybiZlata * ((Trziste)Hra.AktualniProvincie.Budovy[3]).PomerDreva; } else { kolikMoznoProdat = Hra.AktualniProvincie.Drevo; } ((Trziste)Hra.AktualniProvincie.Budovy[3]).Prodej("drevo", kolikMoznoProdat); } if (budovaKRozsireni.CenaDrevo > Hra.AktualniProvincie.Drevo) //Koupě dřeva { int kolikChybiDreva = budovaKRozsireni.CenaDrevo - Hra.AktualniProvincie.Drevo; int kolikMoznoKoupit = 0; //potřebaZlata = cenaDrevo / pomerDřeva if (Hra.AktualniProvincie.Zlato > budovaKRozsireni.CenaDrevo / ((Trziste)Hra.AktualniProvincie.Budovy[3]).PomerDreva) { kolikMoznoKoupit = kolikChybiDreva; } else { kolikMoznoKoupit = Hra.AktualniProvincie.Zlato * ((Trziste)Hra.AktualniProvincie.Budovy[3]).PomerDreva; } ((Trziste)Hra.AktualniProvincie.Budovy[3]).Kup("drevo", kolikMoznoKoupit); } if (budovaKRozsireni.JsouSurovinyNaRozsireni()) { RozsirBudovu(budovaKRozsireni); } } } } } }