Exemplo n.º 1
0
 /// <summary>
 /// Pridanie zoskupenia stan�c
 /// </summary>
 /// <param name="paZosk">zoskupenie</param>
 public void PridajStanicu(ZoskupenieStanic paZosk) 
 {
     if (!aStanice.Contains(paZosk))
     {
         aStanice.Add(paZosk);
     }
 }
Exemplo n.º 2
0
        /// <summary>
        /// Ak sa v okolн stanice nachбdza nejakб eЪte nezaradenб vэroba, tak sa zaradн
        /// </summary>
        /// <param name="paStavana">stavanб stanica</param>
        /// <param name="paRozmerRiadkov">rozmer</param>
        /// <param name="paRozmerStlpcov">rozmer</param>
        private void OverOkolieStaniceVyroba(Stanica paStavana, int paRozmerRiadkov, int paRozmerStlpcov)
        {

            int zacRiad = aPoloha.Riadok - 1;
            int zacStlp = aPoloha.Stlpec - 1;

            int konRiad = aPoloha.Riadok + paRozmerRiadkov;
            int konStlp = aPoloha.Stlpec + paRozmerStlpcov;

            Hra hra = Hra.DajInstanciu();
            Policko[,] matica = hra.DajHernuPlochu().DajMaticu();

            ZoskupenieStanic zosk = paStavana.Zoskupenie;

            for (int riadok = zacRiad; riadok <= konRiad; riadok++)
            {
                for (int stlpec = zacStlp; stlpec <= konStlp; stlpec++)
                {
                    Policko aktualne = matica[riadok, stlpec];
                    if (aktualne.Vyroba != null)
                    {
                        if (aktualne.Vyroba.Zoskupenie == null)
                        {
                            aktualne.Vyroba.Zoskupenie = zosk;
                            zosk.PridajVyrobu(aktualne.Vyroba);
                        }
                    }
                }
            }
        }
Exemplo n.º 3
0
        /// <summary>
        /// Overenie okolia zoskupenia, rozhoduje иi pridaЭ stanicu uЮ ku existujъcemu zoskupenium
        /// alebo иi vytvori novй. 
        /// </summary>
        /// <param name="paStavana">stavanб stanica</param>
        /// <param name="paRozmerRiadkov">rozmer</param>
        /// <param name="paRozmerStlpcov">rozmer</param>
        /// <returns>vэsledok</returns>
        private bool OverOkolieStaniceZoskupenia(Stanica paStavana, int paRozmerRiadkov, int paRozmerStlpcov) {
            
            int zacRiad = aPoloha.Riadok - 1;
            int zacStlp = aPoloha.Stlpec - 1;
            
            int konRiad = aPoloha.Riadok + paRozmerRiadkov;
            int konStlp = aPoloha.Stlpec + paRozmerStlpcov;

            Hra hra = Hra.DajInstanciu();
            Policko[,] matica = hra.DajHernuPlochu().DajMaticu();

            ZoskupenieStanic zosk = null;
            int pocetNajdenachZosk = 0;

            for (int riadok = zacRiad; riadok <= konRiad; riadok++)
            {
                for (int stlpec = zacStlp; stlpec <= konStlp; stlpec++)
                {
                    Policko aktualne = matica[riadok, stlpec];
                    if(aktualne.Zastavane is Stanica)
                    {
                        if (zosk == null || !zosk.Equals((aktualne.Zastavane as Stanica).Zoskupenie))
                        {
                            zosk = (aktualne.Zastavane as Stanica).Zoskupenie;
                            pocetNajdenachZosk++;
                        }
                    }
                }
            }

            if (pocetNajdenachZosk == 0)
            {
                zosk = new ZoskupenieStanic();
                paStavana.Zoskupenie = zosk;
                zosk.PridajStanicu(paStavana);
                hra.Spolocnost.PridajStanicu(zosk);
                OverOkolieStaniceVyroba(paStavana, paRozmerRiadkov, paRozmerStlpcov);
                return true;
            }
            else if (pocetNajdenachZosk == 1)
            {
                paStavana.Zoskupenie = zosk;
                zosk.PridajStanicu(paStavana);
                hra.Spolocnost.PridajStanicu(zosk);
                OverOkolieStaniceVyroba(paStavana, paRozmerRiadkov, paRozmerStlpcov);
                return true;
            }

            return false;
        }
Exemplo n.º 4
0
        /// <summary>
        /// Inicializácia
        /// </summary>
        /// <param name="paZoskupenie">Pre ktoré zoskupenie</param>
        public ZoskupenieForm(ZoskupenieStanic paZoskupenie)
        {
            InitializeComponent();
            FormBorderStyle = FormBorderStyle.FixedSingle;
            MaximizeBox     = false;
            MinimizeBox     = false;

            aZoskupenie         = paZoskupenie;
            aStanice            = new List <Stanica>();
            aObsluhovanePodniky = new List <Vyroba>();

            Aktualizuj();
            aCasovacInfoZoskupenie.Start();
        }
Exemplo n.º 5
0
 /// <summary>
 /// Vamazanie zoskupenia stan�c
 /// </summary>
 /// <param name="paZosk">zoskupenie</param>
 public void VymazZoskupenie(ZoskupenieStanic paZosk)
 {
     aStanice.Remove(paZosk);
 }
Exemplo n.º 6
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();
		}