Esempio n. 1
0
 void Initialize()
 {
     Console.Clear();
     DrawBorder();
     StatusBar();
     ShowSpeed = 11 - snake.speed / 20;
     wall.LoadLevel(currentLevel);
     wall.Draw();
     food.Draw();
     snake.Draw();
     //Draw();
 }
Esempio n. 2
0
        public static void GameProcess()
        {
            check = true;
            Game.Draw();
            while (check && btn.Key != ConsoleKey.Escape)
            {
                snake.Draw();
                food.Draw();
                DrawHeader();
                snake.Move(dx, dy);
                food.Eat();
                check = !GameOver();
                if (snake.body.Count - 5 > score)
                {
                    level++;
                    wall.ReadWallLevel(level);
                    Console.Clear();
                    wall.Draw();
                    if (speed > 20)
                    {
                        speed -= 20;
                    }
                }
                Thread.Sleep(speed);
            }

            if (check)
            {
                SaveDataGame(false);
            }
            else
            {
                ShowGameOver();
            }
        }
Esempio n. 3
0
        internal void Run()
        {
            timer.Elapsed += Timer_Elapsed;
            timer.Interval = 500;
            timer.Start();

            food.Draw();
            wall.Draw();
        }
Esempio n. 4
0
        public void Start()
        {
            DrawGameView();
            DrawScore();
            DrawLevel();
            snake.Draw();
            food.Draw();
            wall.Draw();
            Thread thread = new Thread(MoveSnake);

            thread.Start();
            while (isAlive)
            {
                ConsoleKeyInfo keyInfo = Console.ReadKey(true);
                if (snake.SnakeMovement(keyInfo))
                {
                    snake.ChangeDirection(keyInfo);
                }

                if (keyInfo.Key == ConsoleKey.Escape)
                {
                    thread.Abort();
                    string fileName = Nickname + ".xml";
                    if (File.Exists(fileName))
                    {
                        File.Delete(fileName);
                    }
                    FileStream    fs = new FileStream(fileName, FileMode.OpenOrCreate, FileAccess.ReadWrite);
                    XmlSerializer xs = new XmlSerializer(typeof(List <GameObject>));
                    xs.Serialize(fs, g_objects);
                    fs.Close();
                    MainMenu mainMenu = new MainMenu();
                    mainMenu.Options();
                    mainMenu.Begin();
                }
            }
        }
Esempio n. 5
0
        static void Main(string[] args)
        {
            //Рамка
            Console.SetBufferSize(80, 25);

            Wall wall = new Wall(80, 25);

            wall.Draw();

            //Точки
            Point p     = new Point(4, 5, '*');
            Snake snake = new Snake(p, 4, Direction.Right);

            snake.Draw();

            FoodCreator fCreator = new FoodCreator(25, 80, '&');
            Point       food     = fCreator.CreateFood();

            food.Draw();

            while (true)
            {
                if (wall.IsHit(snake) || snake.IsHitTail())
                {
                    break;
                }

                if (snake.Eat(food))
                {
                    food = fCreator.CreateFood();
                    food.Draw();
                }
                else
                {
                    snake.Move();
                }

                Thread.Sleep(100);

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

            WriteGameOver();
            Console.ReadLine();
        }
Esempio n. 6
0
 public void Draw()
 {
     worm.Draw();
     food.Draw();
     wall.Draw();
 }