Esempio n. 1
0
        /// <summary>
        /// Vytvαranie vύroby
        /// </summary>
        /// <param name="paDrVyr">druh vytvαranej vύroby</param>
        private void VytvorVyrobu(DruhVyroby paDrVyr)
        {

            int riadok = Nahoda.NahodnyInt(0, PocetRiadkov - 3);
            int stlpec = Nahoda.NahodnyInt(0, PocetStlpcov - 3);
            Vyroba vyr = new Vyroba(paDrVyr, new Poloha(riadok, stlpec));

            int riadokMax = riadok + vyr.PocetRiadkov;
            int stlpecMax = stlpec + vyr.PocetStlpcov;

            bool mUm;
            if (paDrVyr == DruhVyroby.RopnaPlosina)
            {
                mUm = MoznostUmiestnit(riadok, riadokMax, stlpec, stlpecMax, false, false);
                if (mUm)
                {
                    ZoznamPrirodzenychStanic.Add(vyr.Zoskupenie);
                }
            }else if (paDrVyr == DruhVyroby.RopnaRafineria)
            {
                mUm = MoznostUmiestnit(riadok, riadokMax, stlpec, stlpecMax, false, true);
            }
            else
            {
                mUm = MoznostUmiestnit(riadok, riadokMax, stlpec, stlpecMax, true, false);
            }

            if (mUm)
            {
                for (int i = riadok; i < riadokMax; i++)
                {
                    for (int j = stlpec; j < stlpecMax; j++)
                    {
                        aMatica[i, j].Vyroba = vyr;
                    }
                }
                aVyroba.Add(vyr);
            }
            else
            {
                VytvorVyrobu(paDrVyr);
            }

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