/// <summary> /// Luodaan urhealle sankarillemme vihollisia /// </summary> /// <param name="paikka">Vihollisen sijainti</param> /// <param name="leveys">Vihollisen koko</param> /// <param name="korkeus">Vihollisen koko</param> /// <param name="liikemaara">Vihollisen liikkumasäde</param> public void LuoVihu(Vector paikka, double leveys, double korkeus, int liikemaara) { PhysicsObject vihu = new PhysicsObject(leveys, korkeus); vihu.Position = paikka; vihu.CanRotate = false; vihu.Image = VihunSkini(); Add(vihu); PathFollowerBrain pfb = new PathFollowerBrain(); List <Vector> reitti = new List <Vector>(); reitti.Add(vihu.Position); Vector seuraavaPiste = new Vector(vihu.X - liikemaara * RUUDUN_LEVEYS, vihu.Y); reitti.Add(seuraavaPiste); pfb.Path = reitti; AddCollisionHandler(vihu, "pelaajanKivi", CollisionHandler.ExplodeBoth(50, true)); Timer heittoAjastin = new Timer(); Random rnd = new Random(); heittoAjastin.Interval = rnd.Next(2, 8); heittoAjastin.Timeout += delegate() { Heita(vihu, "vihunKivi", -1000); }; heittoAjastin.Start(); vihu.Destroyed += delegate { heittoAjastin.Stop(); pisteet.Value += 1; }; vihu.Brain = pfb; pfb.Loop = true; }
/// <summary> /// Luodaan rohkea sankarimme /// </summary> /// <param name="paikka">Sijainti alussa</param> /// <param name="leveys">Sankarin koko</param> /// <param name="korkeus">Sankarin koko</param> public void Sankari(Vector paikka, double leveys, double korkeus) { sankari = new PlatformCharacter(leveys, korkeus, Shape.Circle); sankari.Color = Color.BrownGreen; sankari.Mass = 100.0; sankari.Image = pelaajanKuva; sankari.CanMoveOnAir = true; sankari.TurnsWhenWalking = true; sankari.Position = paikka; AddCollisionHandler(sankari, "vihunKivi", CollisionHandler.ExplodeBoth(100, true)); sankari.Destroyed += delegate { Label loppu = new Label(500, 300, "You ded!"); loppu.TextColor = Color.BloodRed; loppu.Color = Color.Black; Add(loppu); }; Add(sankari); }