예제 #1
0
        private static Point ShowFood(Size screenSize, Queue <Point> snake)
        {
            var foodPoint = Point.Empty;
            var snakeHead = snake.Last();
            var rnd       = new Random();

            do
            {
                var x = rnd.Next(0, screenSize.Width - 1);
                var y = rnd.Next(0, screenSize.Height - 1);
                if (snake.All(p => p.X != x || p.Y != y) &&
                    Math.Abs(x - snakeHead.X) + Math.Abs(y - snakeHead.Y) > 8)
                {
                    foodPoint = new Point(x, y);
                }
            } while (foodPoint == Point.Empty);

            Console.BackgroundColor = ConsoleColor.Blue;
            Console.SetCursorPosition(foodPoint.X + 1, foodPoint.Y + 1);
            Console.Write(" ");

            return(foodPoint);
        }