コード例 #1
0
        public void NewGame(bool gameOver)
        {
            objects.Apples  = new List <AppleView>();
            objects.Enemies = new List <EnemyView>();
            objects.Bullets = new List <BulletView>();
            objects.Walls   = new List <WallView>();

            Init init = new Init(objects, mapWidth, mapHeight);

            init.InitWalls();
            init.InitApple();
            init.InitPlayer();
            init.InitEnemies();
            score         = 0;
            this.gameOver = gameOver;
        }
コード例 #2
0
        public bool Update(int msc)
        {
            Init init = new Init(objects, mapWidth, mapHeight);

            timer += msc;

            objects.Player.Update(timer);
            // Create new apple
            if (objects.Apples.Count < 5 && random.Next(300) > 250)
            {
                init.InitApple();
            }
            // Create new enemy
            if (objects.Enemies.Count < 5 && random.Next(300) > 250)
            {
                init.InitEnemies();
            }
            // Random change enemy's direction
            foreach (var enemy in objects.Enemies)
            {
                if (random.Next(300) > 295)
                {
                    ChangeEnemyDirection(new Init(objects, mapWidth, mapHeight).RandomDirection(), enemy);
                }
                enemy.Update(timer);
            }

            Move();

            // Check Collisions
            if (collisions.CheckCollisions(objects, mapWidth, mapHeight, ref score))
            {
                GameOver();
                return(gameOver);
            }

            return(gameOver);
        }