Example #1
0
        //spustenie vykreslovania
        private void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e)
        {
            TabPage tabPage = Simulacia.TabPages[1];

            StatickeHodnoty.NastavMravenisko(StatickeHodnoty.ZistiBehSimulacieSimulacia().ZistiMravenisko());

            if (HodnotyStavuZobrazovaniaSimulacie.ZistiZobrazovanieSimulacie())
            {
                GrafickyVystup.VykresliMraveniskoUvod(StatickeHodnoty.ZistiMravenisko(), tabPage);
                VypisFazeMraveniska.VypisFazeMraveniskaUvod(StatickeHodnoty.ZistiMravenisko(), casLabelVystup, fazaLabelVystup);
            }


            if (StatickeHodnoty.ZistiMravenisko().ZistiPocetVsetkychMravcov() == 0 &&
                StatickeHodnoty.ZistiMravenisko().ZistiFazaMraveniska() == FazaMraveniska.poKonciKroku)
            {
                InicializaciaNastaveniHodnot();
                HodnotyStavuSimulacie.NastavBolaUkoncena(pocetMravcovTypu1Nastavenia, pocetMravcovTypu2Nastavenia,
                                                         pocetMravcovTypu3Nastavenia, pocetMravcovTypu4Nastavenia,
                                                         pocetSkalNastavenia, mnozstvoZaciatocnejPotravyNastavenia,
                                                         minimalneMnozstvoPotravyNastavenia, casLabelVystup, fazaLabelVystup);
                HodnotyNaVypisovanie.VypisUdajeZakladne(dobaSimulacia, pocetMravcovTypu1TerazSimulacia, pocetMravcovTypu1CelkovoSimulacia,
                                                        pocetMravcovTypu2TerazSimulacia, pocetMravcovTypu2CelkovoSimulacia,
                                                        pocetMravcovTypu3TerazSimulacia, pocetMravcovTypu3CelkovoSimulacia,
                                                        pocetMravcovTypu4TerazSimulacia, pocetMravcovTypu4CelkovoSimulacia,
                                                        mnoztvoPotravyTerazSimulacia, mnozstvoPotravyCelkovoSimulacia);

                GrafickyVystup.VykresliOknoBezSimulacie(tabPage);
                HodnotyStavuZobrazovaniaSimulacie.NastavZobrazovanieSimulacie(true);
                zastavenieSpustenieZobrazovaniaButton.Text = "Zastavenie zobrazovania";
            }

            StatickeHodnoty.ZistiAutoResetEvent().Set();
        }
Example #2
0
        //spravuje ukoncenie simulacie a inicializaciu cast hodnot pre pripadne dalsie spustenie simulacie
        //zvysok sa inicializuje v casti InicializaciaNastaveni
        public static void SimulaciaBolaUkoncena(NumericUpDown pocetMravcovTypu1, NumericUpDown pocetMravcovTypu2,
                                                 NumericUpDown pocetMravcovTypu3, NumericUpDown poceMravcovTypu4,
                                                 NumericUpDown pocetSkal, NumericUpDown mnozstvoPotravyZaciatocnej,
                                                 NumericUpDown mnozstvoPotravyMinnimalnej, Label labelCas, Label labelFaza)
        {
            StatickeHodnoty.ZistiBehSimulacieSimulacia().UkonecieSimulacie();

            if (Konstanty.jeNastaveneMiestoUlozenia)
            {
                Konstanty.zapisovacUdajov.Close();
            }

            NastaveneHodnotyPocasKrokov.NastavPokracovanie(false);
            NacitaneHodnoty.NastavNastavenia(false);
            HodnotyStavuSimulacie.ResetujMiestoUlozenia();
            HodnotyStavuZobrazovaniaSimulacie.NastavZobrazovanieSimulacie(false);
            StatickeHodnoty.ZistiBehSimulacieSimulacia().InicializujSimulaciu("");



            NacitaneHodnoty.InicializujPoctyHodnotMravcov(pocetMravcovTypu1, pocetMravcovTypu2, pocetMravcovTypu3,
                                                          poceMravcovTypu4);
            NacitaneHodnoty.InicializujHodnoty(pocetSkal, mnozstvoPotravyZaciatocnej, mnozstvoPotravyMinnimalnej);

            VypisFazeMraveniska.NastavZakladneHodnoty(labelCas, labelFaza);
        }
Example #3
0
        //spravuje spustenie simulacie
        public static void SimulaciaBolaSpustena()
        {
            NastavHodnotySimulacie();

            HodnotyStavuZobrazovaniaSimulacie.NastavZobrazovanieSimulacie(true);

            StatickeHodnoty.NastavBehSimulacieSimulacia(new BehSimulacie());
            StatickeHodnoty.ZistiBehSimulacieSimulacia().InicializujSimulaciu(HodnotyStavuSimulacie.ZistiMiestoUlozenia());

            VykreslovanieASpustenieBehuSimulacie();
        }
Example #4
0
        //spravuje vypisovanie udajov v casti Simulacia
        public static void VypisUdaje(Label dobaBehu, Label pocetMravcovTypu1, Label pocetMravcovTypu1Celkovo,
                                      Label pocetMravcovTypu2, Label pocetMravcovTypu2Celkovo,
                                      Label pocetMravcovTypu3, Label pocetMravcovTypu3Celkovo,
                                      Label pocetMravcovTypu4, Label pocetMravcovTypu4Celkovo,
                                      Label mnozsvtoPotrava, Label pocetPotravyCelkovo)
        {
            VypisovacieUdaje vypisovacieUdaje = default(VypisovacieUdaje);

            if (HodnotyStavuSimulacie.ZistiBolaSpustena())
            {
                vypisovacieUdaje = StatickeHodnoty.ZistiBehSimulacieSimulacia().ZistiUdaje();
                HodnotyNaVypisovanie.NacitajUdaje(vypisovacieUdaje);
                HodnotyNaVypisovanie.VypisUdaje(dobaBehu, pocetMravcovTypu1, pocetMravcovTypu1Celkovo,
                                                pocetMravcovTypu2, pocetMravcovTypu2Celkovo, pocetMravcovTypu3,
                                                pocetMravcovTypu3Celkovo, pocetMravcovTypu4, pocetMravcovTypu4Celkovo,
                                                mnozsvtoPotrava, pocetPotravyCelkovo);
            }
            else
            {
                MessageBox.Show("Musíte najpr spustiť simuláciu pre vypysovanie údajov.");
            }
        }
Example #5
0
        //spustenie vypoctu simulacie pomocou backgroundworker
        private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
        {
            int dlzkaSpanku;

            while (HodnotyStavuSimulacie.ZistiBolaSpustena() && !HodnotyStavuSimulacie.ZistiBolaZastavena())
            {
                dlzkaSpanku = 0;

                StatickeHodnoty.ZistiBehSimulacieSimulacia().SpustiSimulaciu();
                if (StatickeHodnoty.ZistiBehSimulacieSimulacia().ZistiDobaBehu() == 0)
                {
                    Thread.Sleep(2000);
                }
                backgroundWorker1.ReportProgress(1);
                StatickeHodnoty.ZistiAutoResetEvent().WaitOne();

                while (dlzkaSpanku < Konstanty.ZistiVyslednuDobuPrestavku() &&
                       HodnotyStavuSimulacie.ZistiBolaSpustena() && !HodnotyStavuSimulacie.ZistiBolaZastavena())
                {
                    Thread.Sleep(1);
                    dlzkaSpanku++;
                }
            }
        }