Esempio n. 1
0
        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();
        }
Esempio n. 2
0
        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);
                            }
                        }
                    }
                }
            }
        }