コード例 #1
0
    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);
    }
コード例 #2
0
    /// <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;
    }
コード例 #3
0
    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);
    }