Exemple #1
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());
        }