Пример #1
0
 internal bool IsHit(Figure figure)
 {
     foreach (var p in pList) {
         if(figure.IsHit(p)) return true;
     }
     return false;
 }
Пример #2
0
 public bool IsHit(Figure figure)
 {
     foreach (var wall in figurelist)
     {
         if (wall.isHit(figure)) return true;
     }
     return false;
 }
Пример #3
0
 internal bool isHit(Figure figure)
 {
     foreach(var point in points)
     {
         if (figure.isHit(point)) return true;
     }
     return false;
 }
Пример #4
0
 public bool IsHit(Figure figure)
 {
     foreach (Figure item in WallList)
     {
         if (item.IsHit(figure)) return true;
     }
     return false;
 }
Пример #5
0
 internal bool IsHit(Figure figure)
 {
     foreach (var wall in wallList)
     {
         if (wall.IsHit(figure))
             return true;
     }
     return false;
 }
Пример #6
0
 //  Определение номер объекта, с которым произошло пересечение
 public int GetIntersectObjectNum(Figure figure)
 {
     for (int ii = 0; ii <= gameObjects.Count - 1; ii++)
     {
         if (Intersect(figure, gameObjects[ii]))
         {
             return ii;
         }
     }
     return -1;
 }
Пример #7
0
        static void Main(string[] args)
        {
            Console.SetBufferSize(80, 25);
            int speed = 100;
            GameObjects gameObjects = new GameObjects();
            char sym = '$';

            // Создадим и отобразим стены. Так же занесём их в список объектов
            Walls walls = new Walls('+');
            gameObjects.Add(walls);

            // Создадим змейку
            Snake snake = new Snake(new Point(2, 3, '*'), 3, Direction.RIGHT);
            gameObjects.Add(snake);
            // Создадим еду
            FoodCreator foodCreator = new FoodCreator('$');
            foodCreator.CreateFood(gameObjects, 1);
            gameObjects.Add(foodCreator);

            while(true)
            {
                if (gameObjects.Intersect(snake))
                {
                    Figure intersectFigure = new Figure();
                    int intersectObjectNum = gameObjects.GetIntersectObjectNum(snake);
                    intersectFigure = gameObjects.GetObject(intersectObjectNum);
                    if(intersectFigure.GetObjectType() == ObjectTypes.FOOD)
                    {
                        gameObjects.DeleteObject(intersectObjectNum);
                        snake.Eat();
                        FoodCreator foodCreator2 = new FoodCreator('$');
                        foodCreator2.CreateFood(gameObjects, 2);
                        gameObjects.Add(foodCreator2);
                    }
                    else
                    {
                        Console.SetCursorPosition(10, 10);
                        Console.ForegroundColor = ConsoleColor.DarkRed;
                        Console.WriteLine("Game Over");
                        Console.ReadLine();
                        break;
                    }
                }
                // Проверим нажата ли кнопка
                if (Console.KeyAvailable)
                {
                    // Если таки нажата, то изменим направление в соответсвии с нажатием
                    ConsoleKeyInfo key = Console.ReadKey();
                    snake.HandelKey(key.Key);
                }
                Thread.Sleep(speed);
                snake.Move();
            }
        }
Пример #8
0
 public bool IsHit(Figure figure)
 {
     foreach (var wall in wallList)
     {
         if (wall.IsHit(figure))
         {
             return true;
         }
     }
     return false;
 }
Пример #9
0
        // Добавление объекта
        public void Add(Figure figure)
        {
            try
            {
                int dummy = gameObjects.Count();
            }
            catch (ArgumentNullException e)
            {
                gameObjects = new List<Figure>();
            }

            gameObjects.Add(figure);
        }
Пример #10
0
 internal bool IsHit(Figure figure)
 {
     return(false);
 }
Пример #11
0
 public static bool IsHit(Figure f, Point p) => f.points.Any(p1 => Point.IsHit(p1, p));
Пример #12
0
 // Определение пересёкся ли один объект с одним из других
 public bool Intersect(Figure figure)
 {
     foreach(Figure obj in gameObjects)
     {
         if (Intersect(figure, obj))
         {
             return true;
         }
     }
     return false;
 }
Пример #13
0
 // Определение пересечения двух объектов между собой
 public bool Intersect(Figure figure1, Figure figure2)
 {
     for(int i1 = 0; i1 <= figure1.Count() - 1; i1++)
     {
         int i2;
         if (Equals(figure1.GetType(), figure2.GetType()))
         {
             i2 = i1 + 1;
         }
         else
         {
             i2 = 0;
         }
         while(i2 <= figure2.Count() - 1)
         //for (i2 <= figure2.Count() - 1; i2++)
         {
             if(figure1.GetPoint(i1).IsHit(figure2.GetPoint(i2)))
             {
                 return true;
             }
             i2++;
         }
     }
     return false;
 }
Пример #14
0
 static void Draw(Figure figure)
 {
     figure.Draw();
 }
Пример #15
0
 public static bool IsHit(Walls w, Point p) => w.walls.Any(f => Figure.IsHit(f, p));
Пример #16
0
 public static bool IsHit(Walls w, Figure f) => w.walls.Any(f1 => Figure.IsHit(f1, f));
Пример #17
0
 public bool IsHit(Figure f) => IsHit(this, f);
Пример #18
0
 public static bool IsHit(Figure f1, Figure f2) => f1.points.Any(p => IsHit(f2, p));