예제 #1
0
        //{
        //    int step = 10;
        //    Point MousePosition1 = new Point(MousePosition.X - radius, MousePosition.Y - radius);

        //    double dist = Math.Sqrt(Math.Pow(MousePosition1.X - center.X, 2) + Math.Pow(MousePosition1.Y - center.Y, 2)); //расчёт расстояния

        //    Console.WriteLine(dist);

        //    if (dist <= step) //сдвиг объекта
        //    {
        //        center = MousePosition1;
        //    }
        //    else
        //    {
        //        //сдвиг на шаг к курсору
        //        center.X = (int)(center.X + (MousePosition1.X - center.X) * (step / dist));
        //        center.Y = (int)(center.Y + (MousePosition1.Y - center.Y) * (step / dist));
        //    }
        //}

        protected void KillObj(LinkedList <GameObjects> List1, GameObjects target)                                                        //съедание
        {
            if (target != null)                                                                                                           //проверка, что кто-то выбран для съедания
            {
                if (radius > target.radius)                                                                                               //проерка кто больше
                {
                    double dist = Math.Sqrt(Math.Pow(center.X - target.GetCenter().X, 2) + Math.Pow(center.Y - target.GetCenter().Y, 2)); //момент съедания(центр круга еды в круге охотника)
                    if (dist < radius)                                                                                                    //проверка ^
                    {
                        for (int i = 0; i < List1.Count; i++)                                                                             //удалить кого съели
                        {
                            if (List1.ElementAt(i) == target)
                            {
                                List1.Find(target).Value = null;                // удалить из списка, кого съели
                                key.AddBitArray(target.GetKey().GetKeyArray()); // тот, кто съедает кого-то получает его последовательность
                                IncRad(target);                                 // вызов увеличения
                                break;
                            }
                        }
                    }
                }
            }
        }