コード例 #1
0
        public void Run()
        {
            startBackgroundMusic();

            Console.BufferHeight  = Console.WindowHeight;
            Console.CursorVisible = false;

            snake = new Snake();
            snake.Show();

            obstacles = new Obstacles();
            obstacles.Show();

            food = new Food(snake, obstacles);
            food.Create();
            food.Show();

            level = new Level();

            int direction = right;

            try
            {
                while (true)
                {
                    direction = updateDirection(direction);
                    snake.Advance(direction, food, obstacles);

                    if (food.IsTimeToMove())
                    {
                        food.Hide();
                        food.Create();
                        food.Show();
                        level.NegativePoints += 5;
                    }

                    level.UpdatePoints(snake);

                    if (level.LevelChanged)
                    {
                        level.ShowLevel();
                        obstacles.AddMore(snake, food);
                        sleepTime -= 2;
                    }
                    sleepTime -= 0.01;
                    Thread.Sleep((int)sleepTime);
                }
            }
            catch (Exception e)
            {
                level.UpdatePoints(snake);
                level.ShowGameOver();
            }
        }