Beispiel #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);
    }
    public VihollinenSeuraaja(LegendOfPallo peli, double width, double height) : base(peli, width, height)
    {
        Score = 60;
        List <string> tagit = new List <string>()
        {
            "pelaaja"
        };

        Color = Color.OrangeRed;

        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;

        Mass          = 0.3;
        Brain         = aivot;
        CanRotate     = false;
        LinearDamping = 0.7;
        IsUpdated     = true;

        AsetaTiedot();

        KuolemaAjastin          = new Timer();
        KuolemaAjastin.Interval = 10;
        KuolemaAjastin.Timeout += HeraaEloon;
    }
Beispiel #3
0
    public LabyrinthWandererBrain Aivot()
    {
        LabyrinthWandererBrain lumikonAivot = new LabyrinthWandererBrain(Ruutu)
        {
            Speed            = RandomGen.NextDouble(80.0, 200.0),
            LabyrinthWallTag = "seina",
            TurnWhileMoving  = true
        };

        return(lumikonAivot);
    }
    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);
    }
Beispiel #5
0
    public FollowerBrain Aivot2()
    {
        LabyrinthWandererBrain satunnaisAivot = new LabyrinthWandererBrain(40)
        {
            Speed            = RandomGen.NextDouble(80.0, 200.0),
            LabyrinthWallTag = "seina",
            TurnWhileMoving  = true
        };

        FollowerBrain lumikonAivotSeuraa = new FollowerBrain("myyra")
        {
            Speed               = RandomGen.NextInt(250, 350), // Millä nopeudella kohdetta seurataan
            DistanceFar         = RandomGen.NextInt(350, 550), // Etäisyys jolla aletaan seurata kohdetta
            DistanceClose       = 150,                         // Etäisyys jolloin ollaan lähellä kohdetta
            StopWhenTargetClose = false,                       // Pysähdytään kun ollaan lähellä kohdetta
            TurnWhileMoving     = true,
            FarBrain            = satunnaisAivot               // Käytetään satunnaisaivoja kun ollaan kaukana
        };

        return(lumikonAivotSeuraa);
    }
Beispiel #6
0
    public VihollinenKuljeksiva(LegendOfPallo peli, double width, double height) : base(peli, width, height)
    {
        Score = 20;
        Color = Color.BloodRed;
        LabyrinthWandererBrain aivot = new LabyrinthWandererBrain(64);

        aivot.Speed                  = 300.0;
        aivot.LabyrinthWallTag       = "seina";
        aivot.DirectionChangeTimeout = 0.5;

        Mass          = 0.3;
        Hp            = 1;
        Brain         = aivot;
        LinearDamping = 0.7;
        CanRotate     = false;
        Tag           = "vihollinen";

        Animation = new Animation(Animaatiot.SplotsImages);
        Animation.Start();
        Animation.FPS = 5;
    }