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; } }
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(); } }