Пример #1
0
        public static void Shoot(Alien shooter)
        {
            AlienBullet b = GetBullet();

            if (b != null)
            {
                b.Position.X = shooter.AlienPosition.X;
                b.Position.Y = shooter.AlienPosition.Y + shooter.GetHeight() / 2 + 1;
                b.SetVelocity(new Vector2(0, 250));
                b.IsActive = true;
            }
        }
Пример #2
0
        public static void Init(int Aliens, int Rows)
        {
            numAliens    = Aliens;
            numRows      = Rows;
            aliensPerRow = numAliens / numRows;
            numAlives    = numAliens;

            alien = new Alien[numAliens];
            Color white = new Color(255, 255, 255);

            int alienWidth  = 30;
            int alienHeight = 20;
            int startX      = 40;
            int startY      = 40;
            int dist        = 15;

            for (int i = 0; i < alien.Length; i++)
            {
                if (i != 0 && i % aliensPerRow == 0)
                {
                    startY += alienHeight + dist;
                }

                int alienX = startX + ((i % aliensPerRow) * (dist + alienWidth));

                alien[i] = new Alien(new Vector2(alienX, startY), white, alienWidth, alienWidth);
                if (i > numAliens - aliensPerRow)
                {
                    alien[i].CanShoot = true;
                }
            }

            bullet = new AlienBullet[aliensPerRow];
            for (int i = 0; i < bullet.Length; i++)
            {
                bullet[i] = new AlienBullet();
            }
        }