PhysicsObject LuoLaskuvarjo(double x, double y) { PhysicsObject tyyppi = new PhysicsObject(50, 80); tyyppi.Mass = RandomGen.NextDouble(5, 15); tyyppi.X = x; tyyppi.Y = y; tyyppi.LinearDamping = RandomGen.NextDouble(0.6, 0.9); tyyppi.CanRotate = false; tyyppi.IgnoresCollisionResponse = true; tyyppi.Tag = "tyyppi"; AddCollisionHandler(tyyppi, laskuvarjonTormays); if (RandomGen.NextBool()) { tyyppi.Animation = new Animation(laskuvarjoKuvat); tyyppi.Animation.FPS = RandomGen.NextDouble(3, 6); } else { tyyppi.Animation = new Animation(laskuvarjo2Kuvat); tyyppi.Animation.FPS = RandomGen.NextDouble(3, 6); } tyyppi.Animation.Start(); Add(tyyppi); return(tyyppi); }
void KranuOsui(IPhysicsObject rajahdyksenKohde, Vector v) { bool x = RandomGen.NextBool(); if (x) { LuoVihollinen(new Vector(Level.Right - 40, Level.Bottom + 70), 30, 30); } else { LuoVihollinen(new Vector(Level.Left + 40, Level.Bottom + 70), 30, 30); } LuoAivot(); rajahdyksenKohde.Destroy(); }
//Hallitse koptereiden ja laskuvarjomiesten tiheyttä & määrää jne täältä ja ajastimen intervalista void kopteriPaivitys() { for (int i = 0; i < kopteriLista.Count; i++) { if (kopteriLista[i].IsDestroyed) { kopteriLista.Remove(kopteriLista[i]); } else if (kopteriLista[i].Left > Level.Right && kopteriLista[i].Velocity.X > 0) { kopteriLista[i].X = Level.Left - kopteriLista[i].Width; kopteriLista[i].Y = RandomGen.NextDouble(Level.Top - 600, Level.Top - 50); } else if (kopteriLista[i].Right < Level.Left && kopteriLista[i].Velocity.X < 0) { kopteriLista[i].X = Level.Right + kopteriLista[i].Width; kopteriLista[i].Y = RandomGen.NextDouble(Level.Top - 600, Level.Top - 50); } } for (int j = 0; j < kopteriLista.Count; j++) { if (RandomGen.NextInt(0, 4) < 1) { int k = RandomGen.NextInt(0, kopteriLista.Count); if (kopteriLista[k].Left > Level.Left && kopteriLista[k].Right < Level.Right) { tyyppiLista.Add(LuoLaskuvarjo(kopteriLista[k].X, kopteriLista[k].Y)); } } } if (RandomGen.NextInt(0, 5) < 1) { LuoKopteri(RandomGen.NextBool()); } }