Exemplo n.º 1
0
        static void Main(string[] args)
        {
            Console.SetBufferSize(120, 30);

            Walls walls = new Walls(120, 30);

            walls.Draw();


            //Отрисовка точек
            point p     = new point(4, 5, '*');
            Snake snake = new Snake(p, 4, Direction.right);

            snake.Draw();

            FoodCreator foodCreator = new FoodCreator(120, 30, '$');
            point       food        = foodCreator.CreateFood();

            food.Draw();

            while (true)
            {
                if (walls.IsHit(snake) || snake.IsHitTail())
                {
                    break;
                }
                if (snake.Eat(food))
                {
                    food = foodCreator.CreateFood();
                    food.Draw();
                }
                else
                {
                    snake.Move();
                }
                Thread.Sleep(100);

                if (Console.KeyAvailable)
                {
                    ConsoleKeyInfo key = Console.ReadKey();
                    snake.HandleKey(key.Key);
                }
            }
            WriteGameOver();
            Console.ReadLine();
        }
Exemplo n.º 2
0
        internal void Move()
        {
            point tail = pList.First();

            pList.Remove(tail);
            point head = GetNextPoint();

            pList.Add(head);
            tail.Clear();
            head.Draw();
        }
Exemplo n.º 3
0
        static void Main(string[] args)
        {
            //Ограничение окна
            //Console.SetBufferSize(80, 25);
            #region Wall

            Walls walls = new Walls(80, 25);
            walls.Draw();


            #endregion

            #region SnakeBody

            point  p     = new point(4, 5, '*');
            Snakee snake = new Snakee(p, 4, Direction.RIGHT);
            snake.DrawLine();
            #endregion

            #region Food

            foodCreator foodCreator = new foodCreator(80, 25, '$');
            point       food        = foodCreator.CreateFood();
            food.Draw();

            #endregion

            while (true)
            {
                if (walls.IsHit(snake) || snake.IsHitTail())
                {
                    break;
                    //Console.Write("Game OVER");
                }
                if (snake.Eat(food))
                {
                    food = foodCreator.CreateFood();
                    food.Draw();
                }
                else
                {
                    snake.Move();
                }

                Thread.Sleep(100);

                if (Console.KeyAvailable)
                {
                    ConsoleKeyInfo key = Console.ReadKey();
                    snake.HandleKey(key.Key);
                }
            }

            #region Handle Key

            while (true)
            {
                if (Console.KeyAvailable)
                {
                    ConsoleKeyInfo key = Console.ReadKey();
                    snake.HandleKey(key.Key);
                }
                Thread.Sleep(100);
                snake.Move();
            }
            #endregion



            //Console.ReadKey();
        }