Exemple #1
0
 //spusti rozmnozovanie mravcov na jednotlivych polickach
 public static void ParitSa(Mravenisko mravenisko, int cas)
 {
     for (int i = 0; i < mravenisko.ZistiRozmerMraveniska(); i++)
     {
         for (int j = 0; j < mravenisko.ZistiRozmerMraveniska(); j++)
         {
             SpravaMraveniskaMravcov.ParenieMravcovDanaSuradnica(mravenisko, new Suradnice(i, j), cas);
         }
     }
 }
Exemple #2
0
        // spracuje boj mravcov inych typov na vsetkych polickach
        public static void BojMravcovNaPolickach(Mravenisko mravenisko, Halda <Udalost> halda, int cas)
        {
            for (int i = 0; i < mravenisko.ZistiRozmerMraveniska(); i++)
            {
                for (int j = 0; j < mravenisko.ZistiRozmerMraveniska(); j++)
                {
                    SpravaMraveniskaMravcov.SubojNepohybujuce(mravenisko, new Suradnice(i, j), cas);
                }
            }

            Udalost udalost = new Udalost(cas + 1, (int)TypyUdalosti.bojMravcovNaPolickach, TypyUdalosti.bojMravcovNaPolickach);

            halda.VlozPrvok(udalost, udalost.ZistiCasNastania(), udalost.ZistiPriorita());
        }
Exemple #3
0
        //spracuje boj mravcov ktory sa stretli pri prechadzani medzi polickami,
        //ak mravce b idu na policko B z policka C a mravce c idu na policko C z policka B
        //tak ich suboj je spracovany v tejto funkcii
        public static void BojMravcovPrechadzajucich(Mravenisko mravenisko, Halda <Udalost> halda, int cas)
        {
            for (int i = 0; i < mravenisko.ZistiRozmerMraveniska(); i++)
            {
                for (int j = 0; j < mravenisko.ZistiRozmerMraveniska(); j++)
                {
                    SpravaMraveniskaMravcov.ZistiPohybSZahajSuboj(mravenisko, new Suradnice(i, j), cas);

                    SpravaMraveniskaMravcov.ZistiPohybVZahajSuboj(mravenisko, new Suradnice(i, j), cas);
                }
            }

            SpravaMraveniskaMravcov.ZlucenieNahradnychMravenisk(mravenisko.ZistiRozmerMraveniska());

            Udalost udalost = new Udalost(cas + 1, (int)TypyUdalosti.bojMravcovPrechadzajucich,
                                          TypyUdalosti.bojMravcovPrechadzajucich);

            halda.VlozPrvok(udalost, udalost.ZistiCasNastania(), udalost.ZistiPriorita());
        }
Exemple #4
0
        //resetuje hodnoty pred nasledujucim krokom, resp. "casom", simulacie, takisto sposobi delay medzi dalsim krokom simulacie
        public static void PrecistenieNastavenychHodnot(Mravenisko mravenisko, Halda <Udalost> halda, int cas)
        {
            NastaveneHodnotyPocasKrokov.NastavParenie(false);
            SpravaMraveniskaMravcov.InicializaciaMraveniska(mravenisko);

            for (int i = 0; i < mravenisko.ZistiRozmerMraveniska(); i++)
            {
                for (int j = 0; j < mravenisko.ZistiRozmerMraveniska(); j++)
                {
                    foreach (Mravec mravec in mravenisko.VratObjektPohybujuceSaNaDanychSuradniciach(new Suradnice(i, j)))
                    {
                        mravec.NastavUskok(false);
                    }
                }
            }

            Udalost udalost = new Udalost(cas + 1, (int)TypyUdalosti.precistenieHodnot,
                                          TypyUdalosti.precistenieHodnot);

            halda.VlozPrvok(udalost, udalost.ZistiCasNastania(), udalost.ZistiPriorita());
        }
Exemple #5
0
        //nastavy nove cinnosti mravcov na zaklade ich pozicie a strategie
        public static void NastavenieNovychCinnostiMravcov(Mravenisko mravenisko, Halda <Udalost> halda, int cas)
        {
            Udalost udalost = new Udalost(cas + 1, (int)TypyUdalosti.nastavenieNasledujucichCinnostiMravcov,
                                          TypyUdalosti.nastavenieNasledujucichCinnostiMravcov);

            halda.VlozPrvok(udalost, udalost.ZistiCasNastania(), udalost.ZistiPriorita());

            for (int i = 0; i < mravenisko.ZistiRozmerMraveniska(); i++)
            {
                for (int j = 0; j < mravenisko.ZistiRozmerMraveniska(); j++)
                {
                    foreach (PohybujuceSaObjekty pohybObjekt in mravenisko.VratObjektPohybujuceSaNaDanychSuradniciach(new Suradnice(i, j)))
                    {
                        Mravec mravec = pohybObjekt as Mravec;
                        NastavenieCinnostiMravcov.NastavenieCinnostiMravca(halda, cas, mravec, mravenisko);
                    }
                }
            }

            SpravaMraveniskaMravcov.InicializaciaMraveniska(mravenisko);
            SpravaMraveniskaMravcov.NajdiStojacichMravcov(mravenisko);
        }