public VihollinenSplortsi(LegendOfPallo peli, Vector paikka, double leveys, double korkeus) : base(peli, leveys, korkeus) { Score = 1000; Hp = 150; Tag = "vihollinen"; Position = paikka; Width = Animaatiot.SplortsiImages[0].Width * 4; Height = Animaatiot.SplortsiImages[0].Height * 4; aivot = new LabyrinthWandererBrain(64); aivot.Speed = 300.0; aivot.LabyrinthWallTag = "seina"; aivot.DirectionChangeTimeout = 0.5; Mass = 10000; Brain = aivot; LinearDamping = 0.7; CanRotate = false; Animation = new Animation(Animaatiot.SplortsiImages); Animation.Start(); Animation.FPS = 5; Tavarat.LisaaTavara((int)TavaraTyypit.Avaimet, 1); Tavarat.LisaaTavara((int)TavaraTyypit.Raha, 10); Tavarat.LisaaTavara((int)TavaraTyypit.Sydan, 10); LuoSplortsilleKanuunaTavallinen(peli, new Vector(96, 96), 1, true); LuoSplortsilleKanuunaTavallinen(peli, new Vector(-96, -96), 3, true); LuoSplortsilleKanuunaTavallinen(peli, new Vector(-96, 96), 2, false); LuoSplortsilleKanuunaTavallinen(peli, new Vector(96, -96), 4, false); kanuunaHakeutuva = LuoSplortsilleKanuunaHakeutuva(peli); }
/// <summary> /// Rakentaja, jossa pelaajan tiedot asetetaan. /// </summary> /// <param name="peli">Pelin viite.</param> /// <param name="width">Pelaajan korkeus.</param> /// <param name="height">Pelaajan leveys.</param> /// <param name="tiedot">Pelaajan tiedot.</param> public Pelaaja(LegendOfPallo peli, double width, double height, PelaajanTiedot tiedot) : base(peli, width, height) { Hp = tiedot.MaxHp; CurrentHp = Math.Min(Math.Max(1, tiedot.CurrentHp), tiedot.MaxHp); Tavarat.LisaaTavara((int)TavaraTyypit.Pommit, (byte)tiedot.Pommit); Tavarat.LisaaTavara((int)TavaraTyypit.Elama, (byte)tiedot.Elamat); Image = Animaatiot.pelaajanKuvaN; Width = 56; Height = 56; Shape = Shape.Ellipse; Color = Color.Red; Restitution = 0.0; CanRotate = false; MaxVelocity = 160; LinearDamping = 0.7; IsUpdated = true; Tag = "pelaaja"; CollisionIgnoreGroup = (int)Types.Player; AmpumisAjastin = new Timer(); AmpumisAjastin.Interval = AmpumisVali; KranaattiAjastin = new Timer(); KranaattiAjastin.Interval = KranaatinHeittoVali; }
public VihollinenAmpuja(LegendOfPallo peli, double leveys, double korkeus) : base(peli, leveys, korkeus) { Score = 80; List <string> tagit = new List <string>() { "pelaaja" }; Color = Color.MediumPurple; LabyrinthWandererBrain aivot2 = new LabyrinthWandererBrain(64); aivot2.Speed = 150.0; aivot2.LabyrinthWallTag = "seina"; aivot2.DirectionChangeTimeout = 2.0; aivot = new FollowerBrain(); aivot.DistanceFar = 500; aivot.Speed = 200.0; aivot.TagsToFollow = tagit; aivot.FarBrain = aivot2; aivot.StopWhenTargetClose = true; aivot.DistanceClose = 400; Mass = 0.3; Hp = 10; Brain = aivot; CanRotate = false; LinearDamping = 0.7; IsUpdated = true; Tag = "vihollinen"; Animation = new Animation(Animaatiot.DemonImages); Animation.FPS = 4; Animation.Start(); kanuuna = new Kanuuna <Ammus>(Peli, 10, 10); kanuuna.IsVisible = false; kanuuna.AloitaTyhjana = false; kanuuna.AsetaKanuuna(0.2, 5.0, 3); kanuuna.Tag = "neutraali"; kanuuna.AmpumisKohde = null; kanuuna.MaxEtaisyysKohteeseen = 500; kanuuna.IgnoresCollisionResponse = true; kanuuna.Position = new Vector(0, 0); kanuuna.ammus += Peli.AmmusKimpoileva1Malli; Add(kanuuna); Tavarat.LisaaTavara((int)TavaraTyypit.Raha, 1); }