Пример #1
0
        private void TimerTick(object source, ElapsedEventArgs e)
        {
            if (firstStart)
            {
                eatPoint   = field.GenerateEat();
                firstStart = false;
            }
            if (snake.snakeBody.Count > speedUpPoint && (startSpeed - speedUp) > 0)
            {
                timer.Interval = startSpeed - speedUp;
                speedUp       += speedUp;
                speedUpPoint  += speedUpPoint;
            }
            snake.Clear();
            if (eatPoint.X == snake.snakeBody[0].X && eatPoint.Y == snake.snakeBody[0].Y)
            {
                snake.AddPart(eatPoint);
                eatPoint = field.GenerateEat();
            }
            snake.Move(snake.Side);

            Crash();
            CanPressButton = true;
            if (!Crashed)
            {
                snake.Print();
            }
        }
Пример #2
0
        static void Draw()
        {
            Console.Clear();

            snake.Draw();
            food.Draw();
            wall.Draw();
            while (alive)
            {
                Thread.Sleep(250);
                snake.Clear();

                snake.Move();
                if (snake.intersect((GameObject)food))
                {
                    snake.upgrade();
                    food.Clear();
                    food.setPoint(getEmptyCell());
                    food.Draw();
                    score++;
                    curscore++;
                }
                if (wall.intersect(snake.points[0]))
                {
                    alive = false;
                    break;
                }


                snake.Draw();

                Console.SetCursorPosition(0, HEIGHT);
                Console.Write("Score: {0}   Level: {1}", score, level);
                if (curscore == 5)
                {
                    curscore = 0;
                    level++;
                    Console.Clear();
                    wall = new Wall();
                    for (int i = 1; i <= 10 * (level + 1); i++)
                    {
                        wall.points.Add(getEmptyCell());
                    }

                    snake.Draw();
                    food.Draw();
                    wall.Draw();

                    Thread.Sleep(1000);
                }
            }
        }
Пример #3
0
        static void Main(string[] args)
        {
            Console.SetBufferSize(Console.WindowWidth, Console.WindowHeight);

            // Рамка
            Walls walls = new Walls(Console.WindowWidth, Console.WindowHeight);
            walls.Draw();

            //Змея
            Point p = new Point(4,5);
            Snake snake = new Snake(p, 4, Direction.RIGHT);
            snake.Draw();

            //Еда
            FoodCreator foodCreator = new FoodCreator(Console.WindowWidth, Console.WindowHeight, '$');
            Point food = foodCreator.CreateFood();
            Console.ForegroundColor = ConsoleColor.Cyan;
            food.Draw();
            Console.ResetColor();

            //Двигаем
            while(true)
            {
                if (walls.IsHit(snake) || snake.IsHitTail())
                    break;
                if (snake.Eat(food))
                {
                    food = foodCreator.CreateFood();
                    Console.ForegroundColor = ConsoleColor.Cyan;
                    food.Draw();
                    Console.ResetColor();
                }
                else snake.Move();
                Thread.Sleep(200);
                if (Console.KeyAvailable)
                {
                    snake.HandleKey(Console.ReadKey().Key);
                }
            }
            Console.SetCursorPosition(Console.WindowWidth / 2, Console.WindowHeight / 2);
            snake.Clear();
            food.Clear();
            Console.ForegroundColor = ConsoleColor.Red;
            Console.WriteLine("Good Bye!");
            Console.ResetColor();
            Console.ReadLine();
        }
Пример #4
0
 static void fun(object st)
 {
     if (walls.Collider(snake.snake.Last()) || snake.Collider(snake.snake.Last()))
     {
         snake.Clear();
         snake = new Snake(x / 2, y / 2, 5);
         walls = new Walls(x, y, '+');
     }
     else if (snake.Eat(food.food))
     {
         food.Create();
     }
     else
     {
         snake.Move();
     }
 }
Пример #5
0
 void RemoveSnake()
 {
     Snake.ForEach((sprite) => sprite.RunAction(SKAction.RemoveFromParent()));
     Snake.Clear();
 }
Пример #6
0
        ////////////////////////////////////////////////////////////////////////////////////////////////////
        /// <summary>   Restarts this object. </summary>
        ///
        /// <remarks>   Jonna, 03-Jul-18. </remarks>
        ////////////////////////////////////////////////////////////////////////////////////////////////////

        public void Restart()
        {
            m_Snake.Clear();
            GenerateFood();
        }