示例#1
0
        private bool ObjektyKoliduju(HernyObjekt prvy, HernyObjekt druhy)
        {
            RectangleF obdPrvy  = prvy.ZistiOkrajeObjektu();
            RectangleF obdDruhy = druhy.ZistiOkrajeObjektu();

            return(obdPrvy.IntersectsWith(obdDruhy));
        }
示例#2
0
        private void ZkontrolujKolizie()
        {
            for (int i = 0; i < zoznamHernychObjektov.Count; i++)
            {
                for (int j = i + 1; j < zoznamHernychObjektov.Count; j++)
                {
                    HernyObjekt prvy  = zoznamHernychObjektov[i];
                    HernyObjekt druhy = zoznamHernychObjektov[j];

                    if ((prvy is Strela) && (druhy is Nepriatel) || (prvy is Nepriatel) && (druhy is Strela))
                    {
                        if (ObjektyKoliduju(prvy, druhy))
                        {
                            OdoberObjekt(prvy);
                            OdoberObjekt(druhy);
                            lodHraca.PocetZasahov++;
                            if (lodHraca.PocetZasahov == 100)
                            {
                                casovac.Stop();
                                generatorNepriatelov.Stop();
                                MessageBox.Show("Porazil si 100 nepriatelov si majster", "Sprava hry");
                            }
                        }
                    }
                    else if ((prvy is Hrac) && (druhy is Nepriatel) || (prvy is Nepriatel) && (druhy is Hrac))
                    {
                        if (ObjektyKoliduju(prvy, druhy))
                        {
                            if (prvy is Hrac)
                            {
                                OdoberObjekt(druhy);
                                lodHraca.Zivoty--;
                                if (lodHraca.Zivoty == 0)
                                {
                                    OdoberObjekt(prvy);
                                    generatorNepriatelov.Stop();
                                    MessageBox.Show("Dosli ti zivoty, Prehral si!", "Sprava hry");
                                    Application.Exit();
                                }
                            }
                            else if (druhy is Hrac)
                            {
                                OdoberObjekt(prvy);
                                lodHraca.Zivoty--;
                                if (lodHraca.Zivoty == 0)
                                {
                                    OdoberObjekt(prvy);
                                    generatorNepriatelov.Stop();
                                    MessageBox.Show("Dosli ti zivoty, Prehral si!", "Sprava hry");
                                    Application.Exit();
                                }
                            }
                        }
                    }
                }
            }
        }
示例#3
0
 public void OdoberObjekt(HernyObjekt h)
 {
     zoznamHernychObjektov.Remove(h);
 }
示例#4
0
 public void PridajObjekt(HernyObjekt h)
 {
     zoznamHernychObjektov.Add(h);
 }