예제 #1
0
        public JatekElem[] MegadottHelyenLevok(int x, int y, int range)
        {
            int foundElems = 0;

            for (int i = 0; i < elemN; i++)
            {
                JatekElem currentElem = elemek[i];
                int       xDiff       = Math.Abs(currentElem.X - x);
                int       yDiff       = Math.Abs(currentElem.Y - y);
                if (xDiff + yDiff <= range)
                {
                    foundElems++;
                }
            }

            JatekElem[] elems = new JatekElem[foundElems];
            int         n     = 0;

            for (int i = 0; i < elemN; i++)
            {
                JatekElem currentElem = elemek[i];
                int       xDiff       = Math.Abs(currentElem.X - x);
                int       yDiff       = Math.Abs(currentElem.Y - y);
                if (xDiff + yDiff <= range)
                {
                    elems[n++] = currentElem;
                }
            }

            return(elems);
        }
예제 #2
0
파일: Jatekter.cs 프로젝트: afga/prog2Jatek
 public void Torol(JatekElem torolni)
 {
     for (int i = 0; i < elemN; i++)
     {
         if (torolni == elemek[i])
         {
             elemek[i]     = elemek[--elemN];
             elemek[elemN] = null;
         }
     }
 }
예제 #3
0
        public void Torles(JatekElem elem)
        {
            int idx = 0;

            while (elemek[idx] != elem && idx < elemek.Length)
            {
                idx++;
            }
            if (idx < elemek.Length)
            {
                elemek[idx] = null;
                elemN--;
            }
        }
예제 #4
0
        public JatekElem[] MegadottHelyenLevok(int x, int y, int tav)
        {
            JatekElem[]      kozeliElemek;
            List <JatekElem> atmeneti = new List <JatekElem>();
            int darab = 0;

            int x_Balra  = x - tav;
            int x_Jobbra = x + tav;
            int y_Fent   = y - tav;
            int y_Lent   = y + tav;

            //Határok ellenőrzése
            if (x_Balra < 0)
            {
                x_Balra = 0;
            }
            if (y_Fent < 0)
            {
                y_Fent = 0;
            }
            if (x_Jobbra > meretX)
            {
                x_Jobbra = meretX;
            }
            if (y_Lent > meretY)
            {
                y_Lent = meretY;
            }

            for (int i = 0; i < elemek.Length; i++)
            {
                //Távolságon belül
                //Külön jelölni a törölt elemeket, nem nullal (elemek[i].Torolt == false)
                if ((elemek[i] != null) && (elemek[i].X >= x_Balra && elemek[i].X <= x_Jobbra && elemek[i].Y >= y_Fent && elemek[i].Y <= y_Lent))
                {
                    atmeneti.Add(elemek[i]);
                    darab++;
                }
            }
            kozeliElemek = new JatekElem[darab];
            kozeliElemek = atmeneti.ToArray();
            return(kozeliElemek);
        }
예제 #5
0
파일: Jatekter.cs 프로젝트: afga/prog2Jatek
        public JatekElem[] MegadottHelyenLevok(int x, int y, int tavolsag)
        {
            int db = 0;

            JatekElem[] tmp = new JatekElem[elemN];
            for (int i = 0; i < elemN; i++)
            {
                if (Math.Sqrt(Math.Pow(x - elemek[i].X, 2) + Math.Pow(y - elemek[i].Y, 2)) <= tavolsag)
                {
                    tmp[db++] = elemek[i];
                }
            }
            JatekElem[] vissza = new JatekElem[db];
            for (int i = 0; i < db; i++)
            {
                vissza[i] = tmp[i];
            }
            return(vissza);
        }
예제 #6
0
        public void Torles(JatekElem jatekElem)
        {
            int i = 0;

            while (i <= elemN && elemek[i] != jatekElem)
            {
                i++;
            }

            if (i > elemN)
            {
                return;
            }

            JatekElem latest = elemek[elemN - 1];

            elemek[i]         = latest;
            elemek[elemN - 1] = null;
            elemN--;
        }
예제 #7
0
 public abstract void Utkozes(JatekElem elem);
예제 #8
0
 public override void Utkozes(JatekElem jatekElem)
 {
     throw new NotImplementedException();
 }
예제 #9
0
 public void Felvetel(JatekElem elem)
 {
     elemek[elemN] = elem;
     elemN++;
 }
예제 #10
0
파일: Jatekter.cs 프로젝트: afga/prog2Jatek
 public void Felvesz(JatekElem uj)
 {
     elemek[elemN++] = uj;
 }
예제 #11
0
 public void Felvetel(JatekElem jatekElem)
 {
     elemek[elemN++] = jatekElem;
 }