Пример #1
0
 public CinnostiMravcov ZistiCinnostMravca()
 {
     if (typUdalost == TypyUdalosti.vykonanieCinnostiMravcovPohybovych ||
         typUdalost == TypyUdalosti.vykonanieCinnostiMravcovNepohybovych)
     {
         if (mravec != default(Mravec))
         {
             return(mravec.ZistiCinnostMravca());
         }
         else
         {
             return(default(CinnostiMravcov));
         }
     }
     else
     {
         return(default(CinnostiMravcov));
     }
 }
Пример #2
0
        //vykresli kruh, tam kde mravce zostali stat
        private static bool VykresliZostanieStatiaMravcov(Mravenisko mravenisko, Graphics graphics, int i, int j, int velkostStvorceka)
        {
            bool zostaliStat = false;

            foreach (PohybujuceSaObjekty objekt in mravenisko.VratObjektPohybujuceSaNaDanychSuradniciachZobrazovanie(new Suradnice(i, j)))
            {
                Mravec mravec = objekt as Mravec;

                if (mravec.ZistiCinnostMravca() == CinnostiMravcov.zostan)
                {
                    zostaliStat = true;
                }
            }

            if (zostaliStat)
            {
                VykresliElipsu(i * velkostStvorceka + velkostStvorceka / 4, j * velkostStvorceka + velkostStvorceka / 4, velkostStvorceka / 2, velkostStvorceka / 2,
                               Color.Aqua, graphics);
                return(true);
            }

            return(false);
        }
Пример #3
0
        //vykresli policka, kde sa mravce uspesne najedli, taktiez vypise kolko mravcov sa najedlo
        private static bool VykresliJedenieMravcov(Mravenisko mravenisko, Graphics graphics, int i, int j, int velkostStvorceka)
        {
            int pocetMravcovNajedlo = 0;

            if (mravenisko.ZistiJedenie(i, j))
            {
                foreach (PohybujuceSaObjekty objekt in mravenisko.VratObjektPohybujuceSaNaDanychSuradniciachZobrazovanie(new Suradnice(i, j)))
                {
                    Mravec mravec = objekt as Mravec;

                    if (mravec.ZistiCinnostMravca() == CinnostiMravcov.najedzSa && mravec.ZistiPodariloSa() == true)
                    {
                        pocetMravcovNajedlo++;
                    }
                }

                VykresliObdlznik(i * velkostStvorceka, j * velkostStvorceka, velkostStvorceka, velkostStvorceka, Color.LightGreen, graphics);
                VypisPocetMravcovNaPolicku(i, j, velkostStvorceka, velkostStvorceka, velkostStvorceka, pocetMravcovNajedlo, graphics, Color.Black);

                return(true);
            }

            return(false);
        }
Пример #4
0
        //vykresli smer pohybu mravcov na polickach
        private static bool VykresliSmerPohybuMravcovNaPolickach(Mravenisko mravenisko, Graphics graphics, int i, int j, int velkostStvorceka)
        {
            bool aktivnySmerPohybuS = false; bool aktivneSmerPohybuZ = false; bool aktivnySmerPohybuJ = false; bool aktivnySmerPohybuV = false;

            foreach (PohybujuceSaObjekty pohybujuceSaObjekty in mravenisko.VratObjektPohybujuceSaNaDanychSuradniciachZobrazovanie(new Suradnice(i, j)))
            {
                Mravec mravec = pohybujuceSaObjekty as Mravec;

                if (mravec.ZistiCinnostMravca() == CinnostiMravcov.chodDopreduObrana || mravec.ZistiCinnostMravca() == CinnostiMravcov.chodDopreduUtok)
                {
                    switch (mravec.ZistiSmerPohybu())
                    {
                    case SmerPohybu.s: aktivnySmerPohybuS = true; break;

                    case SmerPohybu.v: aktivnySmerPohybuV = true; break;

                    case SmerPohybu.j: aktivnySmerPohybuJ = true; break;

                    case SmerPohybu.z: aktivneSmerPohybuZ = true; break;
                    }
                }
            }

            int zakladX = i * velkostStvorceka;
            int zakladY = j * velkostStvorceka;

            Pen        pen        = new Pen(Color.Black, 2);
            SolidBrush solidBrush = new SolidBrush(Color.WhiteSmoke);

            if (aktivnySmerPohybuS)
            {
                VykresliTrojuholnik(pen, solidBrush, graphics, zakladX + velkostStvorceka / 4, zakladY + velkostStvorceka / 4,
                                    zakladX + velkostStvorceka / 2, zakladY + 1, zakladX + velkostStvorceka * 3 / 4, zakladY + velkostStvorceka / 4);
            }

            if (aktivneSmerPohybuZ)
            {
                VykresliTrojuholnik(pen, solidBrush, graphics, zakladX + velkostStvorceka / 4, zakladY + velkostStvorceka / 4,
                                    zakladX + 1, zakladY + velkostStvorceka / 2, zakladX + velkostStvorceka / 4, zakladY + velkostStvorceka * 3 / 4);
            }

            if (aktivnySmerPohybuJ)
            {
                VykresliTrojuholnik(pen, solidBrush, graphics, zakladX + velkostStvorceka / 4, zakladY + velkostStvorceka * 3 / 4,
                                    zakladX + velkostStvorceka / 2, zakladY + velkostStvorceka - 1, zakladX + velkostStvorceka * 3 / 4,
                                    zakladY + velkostStvorceka * 3 / 4);
            }

            if (aktivnySmerPohybuV)
            {
                VykresliTrojuholnik(pen, solidBrush, graphics, zakladX + velkostStvorceka * 3 / 4, zakladY + velkostStvorceka / 4,
                                    zakladX + velkostStvorceka - 1, zakladY + velkostStvorceka / 2, zakladX + velkostStvorceka * 3 / 4,
                                    zakladY + velkostStvorceka * 3 / 4);
            }

            if (aktivnySmerPohybuS || aktivneSmerPohybuZ || aktivnySmerPohybuJ || aktivnySmerPohybuV)
            {
                return(true);
            }

            return(false);
        }