//inicializacia objektov simulacia, ako mravenisko, hala, prvotne udalosti,...
 public void InicializujSimulaciu(string miestoUlozenia)
 {
     dobaBehu = 0;
     NastavVypis(false);
     //len konzolove
     //NacitavaciaTrieda.SpustiNacitanie();
     Konstanty.NastavStrategiuMravceTypu1(Konstanty.cinnostiMravcovTypu1);
     Konstanty.NastavStrategiuMravceTypu2(Konstanty.cinnostiMravcovTypu2);
     Konstanty.NastavMiestoUlozenia(miestoUlozenia);
     mravenisko = InicializaciaObjektovMraveniskoHalda.InicializaciaMraveniska();
     halda      = InicializaciaObjektovMraveniskoHalda.InicializaciaHaldy();
     InicializaciaObjektovMraveniskoHalda.InicializujHodnoty(mravenisko);
 }
Exemplo n.º 2
0
        //nastavi prvotne hodnoty simulacie
        private static void NastavHodnotySimulacie()
        {
            ZadaneHodnoty.NastavPocetMravcovTypu1(NacitaneHodnoty.ZistiPocetMravcovTypu1());
            ZadaneHodnoty.NastavPocetMravcovTypu2(NacitaneHodnoty.ZistiPocetMravcovTypu2());
            ZadaneHodnoty.NastavPocetMravcovTypu3(NacitaneHodnoty.ZistiPocetMravcovTypu3());
            ZadaneHodnoty.NastavPocetMravcovTypu4(NacitaneHodnoty.ZistiPocetMravcovTypu4());
            ZadaneHodnoty.NastavMinimalneMnozstvoPotravy(NacitaneHodnoty.ZistiMnozstvoMinimalnejPotravy());
            ZadaneHodnoty.NastavMnozstvoPotravy(NacitaneHodnoty.ZistiMnozstvoStartovnejPotavy());
            ZadaneHodnoty.NastavPocetSkal(NacitaneHodnoty.ZistiPocetSkal());
            ZadaneHodnoty.NastavRozmerMraveniska(NacitaneHodnoty.ZistiRozmerMraveniska());

            Konstanty.NastavNasobokDobyPrestavky(HodnotyStavuSimulacie.ZistiRychlostSimulacie());

            GrafickyVystup.Inicializacia(ZadaneHodnoty.ZistiRozmerMraveniska());
        }
Exemplo n.º 3
0
        //nastavi strategiu mravca, taktisto nastavy, ze pocet mravcov typu 3 alebo 4 moze byt rozny od 0, ak sa nastavuje ich strategia
        private static void NastavCinnostMravca(TypyMravcov typyMravcov, CinnostiMravcov[,] cinnostiMravcov,
                                                NumericUpDown numericUpDownPocetMravcovTypu3, NumericUpDown numericUpDownPocetMravcovTypu4)
        {
            switch (typyMravcov)
            {
            case TypyMravcov.MravecTypu1:
                Konstanty.NastavStrategiuMravceTypu1(cinnostiMravcov);
                NastavNastavenyTyp1(true); break;

            case TypyMravcov.MravecTypu2:
                Konstanty.NastavStrategiuMravceTypu2(cinnostiMravcov);
                NastavNastavenyTyp2(true); break;

            case TypyMravcov.MravecTypu3:
                Konstanty.NastavStrategiuMravceTypu3(cinnostiMravcov); NastavNastavenyTyp3(true);
                NacitaneHodnoty.AktualizujPocetMravcovTypu3(numericUpDownPocetMravcovTypu3); break;

            case TypyMravcov.MravecTypu4:
                Konstanty.NastavStrategiuMravceTypu4(cinnostiMravcov); NastavNastavenyTyp4(true);
                NacitaneHodnoty.AktualizujPocetMravcovTypu4(numericUpDownPocetMravcovTypu4); break;
            }
        }
Exemplo n.º 4
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++;
                }
            }
        }
Exemplo n.º 5
0
 private static void NastavKonstantneHodnoty()
 {
     Konstanty.NastavMinimumPotravy(ZadaneHodnoty.ZistiMinimalneMnozstvoPotravy());
 }