Beispiel #1
0
        /// <summary>
        ///
        /// Ak je firma prvov�robn�, tak je mo�n�, �e sa jej mno�stvo vyroben�ch produktov zmen�
        ///  Ak nie je prvov�robn�, tak sa vyr�ba pod�a toho, ko�ko sa pr�jme
        /// </summary>
		public void ZmenProdukciu(){
            var kluce = new List<TypPrepravJednotky>(aProdukuje.Keys);

            foreach (TypPrepravJednotky kluc in kluce)
            {
                if (aProdukuje[kluc] != 0)
                {
                    aProdukuje[kluc] = Nahoda.TriaInt(cMinProd, aProdukuje[kluc], cMaxProd);
                }
                
            }
		}
Beispiel #2
0
	    /// <summary>
	    /// Inicializ�cia mesta, v�ber n�zvu a n�hodne zvolenie po�iato�nej popul�cia pod�a trojuholn�kov�ho rozdelenia
	    /// </summary>
	    /// <param name="paPoloha">poloha</param>
	    /// <param name="paPoradoveCislo">poradsov� ��slo</param>
	    public Mesto(Poloha paPoloha, int paPoradoveCislo): base(DruhVyroby.Mesto, paPoloha)
        {
            aDen = 0;
            aPoradoveCislo = paPoradoveCislo;
            int poradie = 0;

            foreach( NazvyMiest nazov in Enum.GetValues(typeof(NazvyMiest)))
            {
                if(aPoradoveCislo == poradie)
                {
                    Nazov = nazov.ToString();
                    break;
                }
                poradie++;
            }

            Populacia = Nahoda.TriaInt(100, 300, 400);
            this.ZmenPrirastok();
		}
Beispiel #3
0
        /// <summary>
        /// Vyrobenie - teda vznikn� cestuj�ci a po�ta
        /// </summary>
        public void Vyrob() 
        {
            if(Zoskupenie != null)
            {
                int temp = Populacia / cIntervalDni;

                int pocetCestujucich = temp/5;

                if (pocetCestujucich > 0)
                {
                    pocetCestujucich = Nahoda.TriaInt(pocetCestujucich - 1, pocetCestujucich, pocetCestujucich + 2);
                }
                else 
                {
                    pocetCestujucich = 1;
                }

                int pocetPosty = temp / 10;

                if (pocetPosty > 0)
                {
                    pocetPosty = Nahoda.TriaInt(pocetPosty - 1, pocetPosty, pocetPosty + 2);
                }
                else
                {
                    pocetPosty = 1;
                }

                for (int i = 0; i < pocetCestujucich; i++)
                {
                    Zoskupenie.NechajCakat(new PrepravJednotka(TypPrepravJednotky.cestujuci));
                }

                for (int i = 0; i < pocetPosty; i++)
                {
                    Zoskupenie.NechajCakat(new PrepravJednotka(TypPrepravJednotky.posta));
                }
                Console.WriteLine("Mesto, cest: " + pocetCestujucich + ", post: " + pocetPosty);
            }
        }
Beispiel #4
0
        /// <summary>
        /// Vyrobanie nejak�ho po�tu v�robn�ch jednotiek. Produkcia je vypo��tana �iasto�ne metematick�mi vz�ahmi 
        /// z celkovej produknie za mesiac a m��e by� upraven� pomocou trojuholn�kov�ho rozdelenia
        /// </summary>
		public void Vyrob(){
            if (aPrilahlaStanica != null && !aPrilahlaStanica.Uzamknute)
            {
                int dnesnaProdukcia = 0;
                double temp = 0;
                foreach (var item in aProdukuje)
                {
                    temp = (double)item.Value / (double)30;
                    dnesnaProdukcia = (int)Math.Round(temp, MidpointRounding.AwayFromZero);

                    if (dnesnaProdukcia > 0)
                    {
                        dnesnaProdukcia = Nahoda.TriaInt(dnesnaProdukcia-1, dnesnaProdukcia, dnesnaProdukcia+1);
                    }

                    for (int i = 0; i < dnesnaProdukcia; i++)
                    {
                        aPrilahlaStanica.NechajCakat(new PrepravJednotka(item.Key));
                    }
                    Console.WriteLine(item.Key + " " + dnesnaProdukcia);
                }
            }
		}