Пример #1
0
 public void MoveSnakeThread()
 {
     speed    = 200;
     playGame = true;
     Console.SetWindowSize(100, 31);
     food.x = 10;
     food.y = 10;
     wall.LoadLevel(levelCount);
     wall.Draw();
     Console.ForegroundColor = ConsoleColor.DarkRed;
     Console.SetCursorPosition(10, 10);
     Console.Write('@');
     Console.ForegroundColor = ConsoleColor.Black;
     while (playGame == true)
     {
         moovable = false;
         if (snake.body[0].x == food.x && snake.body[0].y == food.y)
         {
             snake.AddToBody();
             food.NewPosition(snake.body, wall.body);
             score++;
             moovable = true;
             speed    = Math.Max(100, speed - 10);
         }
         if (score == 5 && levelCount == 1)
         {
             x = 1;
             y = 0;
             levelCount++;
             wall.LoadLevel(levelCount);
             snake.body.Clear();
             wall.Draw();
             snake.body.Add(new Point(4, 3));
             snake.body.Add(new Point(3, 3));
             snake.body.Add(new Point(2, 3));
         }
         if (score == 10)
         {
             Console.Clear();
             Console.SetCursorPosition(0, 0);
             Console.Write("Your score is : ");
             Console.WriteLine(score + sc);
             Console.WriteLine("Press escape to continue");
             Console.ForegroundColor = ConsoleColor.Black;
             break;
         }
         if (snake.CheckGame(wall.body) == true)
         {
             Console.Clear();
             playGame = false;
             Console.SetCursorPosition(0, 0);
             Console.Write("Your score is : ");
             Console.WriteLine(score + sc);
             Console.WriteLine("Press escape to continue");
             Console.ForegroundColor = ConsoleColor.Black;
             break;
         }
         Console.ForegroundColor = ConsoleColor.DarkRed;
         Console.SetCursorPosition(food.x, food.y);
         Console.WriteLine("@");
         Console.SetCursorPosition(0, 23);
         Console.ForegroundColor = ConsoleColor.Magenta;
         Console.WriteLine("Score: ");
         Console.SetCursorPosition(7, 23);
         Console.Write(score);
         snake.Move(x, y, moovable);
         snake.Draw();
         Thread.Sleep(speed);
     }
 }
Пример #2
0
        public void MoveSnakeThread()
        {
            int speedReturn = speed;

            playGame = true;
            Console.SetWindowSize(100, 31);
            food.x = 10;
            food.y = 10;
            wall.LoadLevel(levelCount);
            wall.Draw();
            Console.ForegroundColor = ConsoleColor.DarkRed;
            Console.SetCursorPosition(10, 10);
            Console.Write('@');
            Console.ForegroundColor = ConsoleColor.Black;
            int pos = -1;

            while (playGame)
            {
                for (int i = 0; i < highScores.name.Count; i++)
                {
                    if (highScores.name[i] == Program.login)
                    {
                        pos = i;
                        break;
                    }
                }
                if (pos == -1)
                {
                    highScores.name.Add(Program.login);
                    highScores.score.Add(0);
                    pos = highScores.name.Count - 1;
                }
                moovable = false;
                if (snake.body[0].x == food.x && snake.body[0].y == food.y)
                {
                    snake.AddToBody();
                    food.NewPosition(snake.body, wall.body);
                    score++;
                    moovable = true;
                    speed    = Math.Max(100, speed - 10);
                }
                highScores.score[pos] = Math.Max(score + sc, highScores.score[pos]);
                if (score != 0 && score % 5 == 0 && levelCount < maxLevel)
                {
                    x = 1;
                    y = 0;
                    levelCount++;
                    wall.LoadLevel(levelCount);
                    snake.body.Clear();
                    wall.Draw();
                    snake.body.Add(new Point(4, 3));
                    snake.body.Add(new Point(3, 3));
                    snake.body.Add(new Point(2, 3));
                    score = 0;
                    sc    = levelCount * 5 - 5;
                }
                if (score != 0 && score % 5 == 0 && levelCount == maxLevel)
                {
                    Console.Clear();
                    Console.SetCursorPosition(0, 0);
                    Console.Write("Your score is : ");
                    Console.WriteLine(score + sc);
                    Console.Write("Your maximail score is : ");
                    Console.WriteLine(highScores.score[pos]);
                    Console.WriteLine("Press escape to continue");
                    Console.ForegroundColor = ConsoleColor.Black;
                    //Console.ReadKey();
                    break;
                }
                if (snake.CheckGame(wall.body))
                {
                    Console.Clear();
                    playGame = false;
                    Console.SetCursorPosition(0, 0);
                    Console.Write("Your score is : ");
                    Console.WriteLine(score + sc);
                    Console.Write("Your maximail score is : ");
                    Console.WriteLine(highScores.score[pos]);
                    Console.WriteLine("Press escape to continue");
                    Console.ForegroundColor = ConsoleColor.Black;
                    break;
                }
                Console.ForegroundColor = ConsoleColor.DarkRed;
                Console.SetCursorPosition(food.x, food.y);
                Console.WriteLine("@");
                Console.SetCursorPosition(0, 23);
                Console.ForegroundColor = ConsoleColor.Magenta;
                Console.WriteLine("Score: ");
                Console.SetCursorPosition(7, 23);
                Console.Write(score + sc);
                snake.Move(x, y, moovable);
                snake.Draw();
                Thread.Sleep(speed);
            }
            SaveHighScore(highScores);
            speed = speedReturn;
        }