Пример #1
0
        }// Main()

        static void Loop(object obj)
        {
            if (walls.IsHit(snake.GetHead()) || snake.IsHit(snake.GetHead()))
            {
                time.Change(0, Timeout.Infinite);
            }
            else if (snake.Eat(foodFactory.food))
            {
                foodFactory.CreateFood();
            }
            else
            {
                snake.Move();
            }
        }// Loop()
Пример #2
0
        static void Main()
        {
            Console.SetWindowSize(x + 1, y + 1);
            Console.SetBufferSize(x + 1, y + 1);
            Console.CursorVisible = false;

            walls = new Walls(x, y, '#');
            snake = new Snake(x / 2, y / 2, 3);

            foodFactory = new FoodFactory(x, y, '@');
            foodFactory.CreateFood();

            time = new Timer(Loop, null, 0, 200);

            while (true)
            {
                if (Console.KeyAvailable)
                {
                    ConsoleKeyInfo key = Console.ReadKey();
                    snake.Rotation(key.Key);
                }
            }
        }// Main()
Пример #3
0
 static void Loop(object obj)
 {
     if (walls.IsHit(snake.GetHead()) || snake.IsHit(snake.GetHead()))
     {
         time.Change(0, Timeout.Infinite);
         GameOver();
         GameOverMenu();
     }
     else if (snake.Eat(foodFactory.Food))
     {
         foodFactory.CreateFood(diflevel);
         if (diflevel == 0)                                                           // система начисления очков для легкого уровня
         {
             scores++;
             if (scores % 3 == 0)
             {
                 if (scores <= 6)
                 {
                     time.Change(0, snakeSpeed -= 40);
                 }                                                                    // увеличиваем скорость змеи, если съели до 6 яблок
                 else if (snakeSpeed >= 0)
                 {
                     time.Change(0, snakeSpeed -= 10);
                 }                                                                    // немного увеличиваем после 6 яблок
                 level++;
             }
         }
         else if (diflevel == 1)                                                           // система начисления очков для среднего уровня
         {
             scores += 2;
             if (scores % 4 == 0)
             {
                 if (scores <= 6)
                 {
                     time.Change(0, snakeSpeed -= 30);
                 }                                                                    // увеличиваем скорость змеи, если съели до 6 яблок
                 else if (snakeSpeed >= 0)
                 {
                     time.Change(0, snakeSpeed -= 10);
                 }                                                                    // немного увеличиваем после 6 яблок
                 level++;
             }
         }
         else if (diflevel == 2)                                                           // система начисления очков для тяжелого уровня
         {
             scores += 4;
             if (scores % 8 == 0)
             {
                 if (scores <= 12)
                 {
                     time.Change(0, snakeSpeed -= 20);
                 }                                                                     // увеличиваем скорость змеи, если съели до 12 яблок
                 else if (snakeSpeed >= 0)
                 {
                     time.Change(0, snakeSpeed -= 10);
                 }                                                                     // еще ускоряемся после 12 яблок
                 level++;
             }
         }
     }
     else
     {
         snake.Move();
         SetCursorPosition(0, 28);
         GameInfo();                                                             // вывод игрового табло с инфой
     }
 }
Пример #4
0
 public Snake(int x, int y)
 {
     factory.Variable(x, y, '$');
     beginshake(x, y);
     factory.CreateFood();
 }