//mravec ide dopredu, jeho uskok je nast. true, pretoze pri boji pri prechadzani policok //utecie na policko z ktoreho chcel odist, znizi sa jeho energia public void ChodDopreduObrana(Mravenisko mravenisko, int cas) { NastavUskok(true); ChodDopredu(mravenisko.ZistiRozmerMraveniska()); mravenisko.PosunMravca(new Suradnice(ZistiXSuradnicuPredchadzajuceSuradnice(), ZistiYSuradnicuPredchadzajuceSuradnice()), this); SpravaMraveniskaMravcov.nahradneMraveniskoPohybujuce[ZistiXSuradnicu(), ZistiYSuradnicu()].Add(this); HlaskyCinnostiMravcovStavObjektov.MravecIdeDopreduObranne(cas, ZistiIdMravca(), (int)ZistiTypyMravcov() + 1, ZistiXSuradnicu(), ZistiYSuradnicu()); HlaskyCinnostiMravcovStavObjektov.MravecPrisielNaPolicko(cas, ZistiIdMravca(), (int)ZistiTypyMravcov() + 1, ZistiXSuradnicu(), ZistiYSuradnicu()); }
//da mravce na miesto na ktore uskocili pri prechode private static void VratMravceNaPolickoZKtorehoIsliUskociliNanTeraz(Suradnice suradnice, List <Mravec> mravce, Mravenisko mravenisko, int cas) { foreach (Mravec mravec in mravce) { mravec.OtocitVlavo(); mravec.OtocitVlavo(); mravec.ChodDopredu(mravenisko.ZistiRozmerMraveniska()); mravec.OtocitVlavo(); mravec.OtocitVlavo(); HlaskyCinnostiMravcovStavObjektov.MravecPrisielNaPolicko(cas, mravec.ZistiIdMravca(), (int)mravec.ZistiTypyMravcov() + 1, mravec.ZistiXSuradnicu(), mravec.ZistiYSuradnicu()); mravenisko.PosunMravca(mravec.ZistiStareSuradnica(), mravec); nahradneMraveniskoStojace[suradnice.ZistiXSuradnicu(), suradnice.ZistiYSuradnicu()].Add(mravec); } }