コード例 #1
0
        private static bool Death(bool gameOver, Snake snake, Point newHead)
        {
            snake.Remove(0);
            foreach (Point x in snake.GetSnake())
            {
                if (x.X == newHead.X && x.Y == newHead.Y)
                {
                    // Death by accidental self-cannibalism.
                    gameOver = true;
                    break;
                }
            }

            return(gameOver);
        }
コード例 #2
0
        public static bool PlaceFood(int boardWidth, int boardHeight, Random random, Point food, Snake snake)
        {
            bool inUse;

            while (true)
            {
                food.X = random.Next(0, boardWidth); food.Y = random.Next(0, boardHeight);
                bool found = true;
                foreach (Point i in snake.GetSnake())
                {
                    if (i.X == food.X && i.Y == food.Y)
                    {
                        found = false;
                        break;
                    }
                }
                if (found)
                {
                    inUse = true;
                    break;
                }
            }
            return(inUse);
        }