Beispiel #1
0
        public static void Init()
        {
            Bird bird = new Bird();

            bird.ReadHighScore();

            // Используем поток для отлова прыжка птицы.
            Thread birdThread = new Thread(bird.ThreadJumping);

            birdThread.Start();

            // Используем поток для создания стен.
            Wall   wall        = new Wall();
            Thread wallsThread = new Thread(wall.Add);

            wallsThread.Start();

            while (true)
            {
                // Если птица ударилась о границы карты или о препятствие.
                if (bird.IsCrashed(wall.Walls))
                {
                    // Завершаем потоки и выходим из цикла
                    wallsThread.Abort();
                    birdThread.Abort();
                    break;
                }
                // Обновляем координаты птицы, преград и отрисовываем карту заново.
                bird.Update();

                Map.Print(bird);
                wall.Print(wallsThread);

                Thread.Sleep(UpdateDelay);
            }
            // Завершаем игру
            Destruct(bird);
        }