public string VypisVlastniciProvincie() { string s = ""; for (int i = 0; i < SeznamProvincii.Count; i++) { s += SeznamProvincii[i].JmenoProvincie; if (SeznamProvincii.Last() != SeznamProvincii[i]) { s += ", "; } } return(s); }
public void ObsadProvincii(Provincie porazenaProvincie) { Hrac porazenySouper = porazenaProvincie.Vlastnik; //Přepočítání priorit !!!!!!!!!!!!!!!!!!!!!!ZměnA foreach (Hrac h in Hra.Vladci) { if (h is Pocitac) { ((Pocitac)h).PrepocitejPriorityProvinciiProNovehoVlastnika(this, porazenySouper, porazenaProvincie); } } porazenaProvincie.VynulujProvincieAJednotkyProUtok(); porazenaProvincie.VynulujProvincieASurovinyProDovoz(); porazenaProvincie.VynulujProvincieProSpehovani(); porazenaProvincie.VynulujJednoktyAProvincieProPodporu(); porazenaProvincie.Ninjove.NastavPocet(0); porazenaProvincie.NinjoveMimoProvincii.NastavPocet(0); foreach (Jednotka j in porazenaProvincie.Jednotky) { j.NastavPocet(0); } SeznamProvincii.Add(porazenaProvincie); porazenySouper.SeznamProvincii.Remove(porazenaProvincie); if (this is Pocitac) { ((Pocitac)this).ZvzsPriorituVladce(porazenySouper, 1); } if (porazenySouper is Pocitac) { ((Pocitac)porazenySouper).ZvysPriorituProvincie(porazenaProvincie, 2); ((Pocitac)porazenySouper).ZvzsPriorituVladce(this, 2); } bool vladceVyhlazen = false; if (porazenySouper.SeznamProvincii.Count == 0) { //Priority - dříve - referenční pole Soupeři majngot foreach (Hrac h in Hra.Vladci) { if (h is Pocitac && h != porazenySouper) { ((Pocitac)h).OdeberSoupereZPrioritSouperuAprovincii(porazenySouper); } } Hra.OdeberVladce(porazenySouper); vladceVyhlazen = true; //Přepočítá všem hráčům ve hře jejich soupeře Hra.PrepocitejSoupereVladcu(); } if (this != Hra.Player && porazenySouper != Hra.Player) { Hra.VypisZpravuOobsazeni(Jmeno, porazenaProvincie.JmenoProvincie, porazenySouper.Jmeno, vladceVyhlazen); } }