예제 #1
0
        /// <summary>
        /// Vэstavba doku
        /// </summary>
        /// <param name="paSmer">jeho smer</param>
        public void PostavDok(int paSmer)
        {
            Policko[,] matica = Hra.DajInstanciu().DajHernuPlochu().DajMaticu();
            Dok dk = null;
            Spolocnost spol = Hra.DajInstanciu().Spolocnost;
            if (MozemStavat())
            {
                switch (paSmer)
                {
                    case (int)SmerDoku.dole:
                        if (!matica[aPoloha.Riadok + 1, aPoloha.Stlpec].aPevnina && matica[aPoloha.Riadok + 1, aPoloha.Stlpec].aZastavane == null)
                        {
                            dk = new Dok(aPoloha, SmerDoku.dole);
                        }
                        break;

                    case (int)SmerDoku.hore:
                        if (!matica[aPoloha.Riadok - 1, aPoloha.Stlpec].aPevnina && matica[aPoloha.Riadok - 1, aPoloha.Stlpec].aZastavane == null)
                        {
                            dk = new Dok(aPoloha, SmerDoku.hore);
                        }
                        break;

                    case (int)SmerDoku.vpravo:
                        if (!matica[aPoloha.Riadok, aPoloha.Stlpec + 1].aPevnina && matica[aPoloha.Riadok, aPoloha.Stlpec + 1].aZastavane == null)
                        {
                            dk = new Dok(aPoloha, SmerDoku.vpravo);
                        }
                        break;

                    case (int)SmerDoku.vlavo:
                        if (!matica[aPoloha.Riadok, aPoloha.Stlpec - 1].aPevnina && matica[aPoloha.Riadok, aPoloha.Stlpec - 1].aZastavane == null)
                        {
                            dk = new Dok(aPoloha, SmerDoku.vlavo);
                        }
                        break;
                }
                if ( dk != null && spol.OverVydavok(-dk.Cena) && OverOkolieStaniceZoskupenia(dk, 1, 1))
                {
                    aZastavane = dk;
                    spol.UpravFinancie(-dk.Cena);
                }
                else
                {
                    Sprava.Info("Nie je moЮnб vэstavba doku!");
                }
            }
            else
            {
                Sprava.Info("Nie je moЮnб vэstavba doku!");
            }
            
        }
예제 #2
0
        /// <summary>
        /// Inicializ�cia v�roby. Pre ka�d� druh, je vykonan� nie�o in�
        /// </summary>
        /// <param name="paDruh"></param>
        /// <param name="paPoloha"></param>
	    public Vyroba(DruhVyroby paDruh, Poloha paPoloha)
        {
            aDok = null;
            aPrilahlaStanica = null;
            Poloha = paPoloha;
            OdsadenieZLava = Poloha.Stlpec * Policko.cVelkostPolicka;
            OdsadenieZHora = Poloha.Riadok * Policko.cVelkostPolicka;
            aPrijma = new List<TypPrepravJednotky>();
            aProdukuje = new Dictionary<TypPrepravJednotky, int>();
            aDruhVyroby = paDruh;

            switch (paDruh)
            {
                case DruhVyroby.Elektraren:
                    NastavObrazok(Resources.el, "el");
                    aPrijma.Add(TypPrepravJednotky.uhlie);
                    break;

                case DruhVyroby.Farma:
                    NastavObrazok(Resources.farm, "farm");
                    aProdukuje.Add(TypPrepravJednotky.dobytok, cStrProd);
                    aProdukuje.Add(TypPrepravJednotky.obilie, cStrProd);
                    break;

                case DruhVyroby.Les:
                    NastavObrazok(Resources.forest, "forest");
                    aProdukuje.Add(TypPrepravJednotky.drevo, cStrProd);
                    break;

                case DruhVyroby.Oceliaren:
                    NastavObrazok(Resources.oceliaren, "oceliaren");
                    aPrijma.Add(TypPrepravJednotky.zeleznaRuda);
                    aProdukuje.Add(TypPrepravJednotky.ocel, 0);
                    break;

                case DruhVyroby.Pila:
                    NastavObrazok(Resources.sawmill, "sawmill");
                    aPrijma.Add(TypPrepravJednotky.drevo);
                    aProdukuje.Add(TypPrepravJednotky.tovar, 0);
                    break;

                case DruhVyroby.RopnaRafineria:
                    NastavObrazok(Resources.rafineria, "rafineria");
                    aPrijma.Add(TypPrepravJednotky.ropa);
                    aProdukuje.Add(TypPrepravJednotky.tovar, 0);
                    break;

                case DruhVyroby.Tovaren:
                    NastavObrazok(Resources.farctory, "farctory");
                    aPrijma.Add(TypPrepravJednotky.ocel);
                    aPrijma.Add(TypPrepravJednotky.dobytok);
                    aPrijma.Add(TypPrepravJednotky.obilie);
                    aProdukuje.Add(TypPrepravJednotky.tovar, 0);
                    break;

                case DruhVyroby.UholnaBana:
                    NastavObrazok(Resources.mineCoalM, "mineCoalM");
                    aProdukuje.Add(TypPrepravJednotky.uhlie, cStrProd);
                    break;

                case DruhVyroby.ZelezorudnaBana:
                    NastavObrazok(Resources.mineRudaM, "mineRudaM");
                    aProdukuje.Add(TypPrepravJednotky.zeleznaRuda, cStrProd);
                    break;

                case DruhVyroby.RopnaPlosina:
                    NastavObrazok(Resources.oilPlat, "oilPlat");
                    aProdukuje.Add(TypPrepravJednotky.ropa, cStrProd);

                    aDok = new Dok(Poloha);
                    Zoskupenie = new ZoskupenieStanic();
                    Zoskupenie.PridajStanicu(aDok);
                    Zoskupenie.PridajVyrobu(this);
                    aDok.Zoskupenie = Zoskupenie;
                    break;

                case DruhVyroby.Mesto:
                    NastavObrazok(Resources.city, "city");
                    aPrijma.Add(TypPrepravJednotky.tovar);
                    aPrijma.Add(TypPrepravJednotky.cestujuci);
                    aPrijma.Add(TypPrepravJednotky.posta);
                    aProdukuje.Add(TypPrepravJednotky.cestujuci, 0);
                    aProdukuje.Add(TypPrepravJednotky.posta, 0);
                    break;
            }
            this.ZmenProdukciu();
		}