/// <summary>
    /// Aivot, joiden avulla merileopardi liikkuu edestakaisin pinnoilla.
    /// </summary>
    /// <param name="hahmo">Merileopardi</param>
    // Lähde: https://trac.cc.jyu.fi/projects/npo/wiki/Aivot (viitattu 28.2.2021)
    private void MerileopardinLiike(PlatformCharacter hahmo)
    {
        PlatformWandererBrain liike = new PlatformWandererBrain();

        liike.Speed = 50;
        hahmo.Brain = liike;
    }
Пример #2
0
    void LisaaHahmoKartalle(Vector paikka, double leveys, double korkeus, Color vari)
    {
        // Magneta on pelaaja
        if (vari == PELAAJAN_ALOITUSPAIKAN_VARI)
        {
            PelaajanAloitusPaikat.Add(paikka);
        }
        else
        {
            PlatformCharacter hahmo = new PlatformCharacter(leveys, korkeus);
            hahmo.Position = paikka;
            hahmo.Image    = RandomGen.SelectOne <Image>(HahmoKuvat[vari]);
            hahmo.Tag      = Nimet[hahmo.Image];
            Add(hahmo, 2);
            PelissaOlevatHahmot.Add(hahmo);

            // Lisää vihollisille aivot
            PlatformWandererBrain aivot = new PlatformWandererBrain();
            aivot.Speed             = PELAAJAN_KAVELYNOPEUS / 4;
            aivot.FallsOffPlatforms = false;
            aivot.TriesToJump       = false;
            aivot.Active            = false; // pistetään päälle kun peli alkaa
            hahmo.Brain             = aivot;

            // Kun pelaaja osuu hahmoon, kutsutaan PelaajaOsuuHahmoon aliohjelmaa
            AddCollisionHandler(Pelaaja, hahmo, PelaajaOsuuHahmoon);
        }
    }
Пример #3
0
    void luoaivot()
    {
        PlatformWandererBrain seuraajanAivot = new PlatformWandererBrain();

        seuraajanAivot.Active = true;
        seuraajanAivot.Speed  = 300;
        // seuraajanAivot.DistanceFar = 600;
        //seuraajanAivot.DistanceClose = 200;
        //seuraajanAivot.StopWhenTargetClose = true;

        vihollinen.Brain = seuraajanAivot;
    }
    /// <summary>
    /// Luodaan aliohjelma LisaaVeroKarhu, joka luo uuden PlatformCharacterin vihollinen.
    /// Annetaan viholliselle massa seka liitetaan siihen kuvatiedosto.
    /// Luodaan viholliselle aivot, jotta ne kulkevat edestakaisin tasolla.
    /// </summary>
    /// <param name="paikka">Paikka, johon vihollinen luodaan</param>
    /// <param name="leveys">Vihollisen leveys</param>
    /// <param name="korkeus">Vihollisen korkeus</param>
    private void LisaaVerokarhu(Vector paikka, double leveys, double korkeus)
    {
        PlatformCharacter vihollinen = new PlatformCharacter(leveys, korkeus);

        vihollinen.Position = paikka;
        vihollinen.Mass     = 4.0;
        vihollinen.Image    = RandomGen.SelectOne(verokarhunKuvat);
        vihollinen.Tag      = "veroKarhu";
        Add(vihollinen);

        PlatformWandererBrain tasoAivot = new PlatformWandererBrain();

        tasoAivot.Speed  = 100;
        vihollinen.Brain = tasoAivot;
    }
Пример #5
0
    void LuoAivot()
    {
        //List<Vector> polku = new List<Vector>();
        //polku.Add(new Vector(250, 1000));
        //FollowerBrain vihollisenAivot = new FollowerBrain(pelaaja);
        //RandomMoverBrain vihollisenAivot = new RandomMoverBrain();
        //PathFollowerBrain vihollisenAivot = new PathFollowerBrain();
        //LabyrinthWandererBrain vihollisenAivot = new LabyrinthWandererBrain(20);
        //vihollisenAivot.DistanceClose = 50;
        //vihollisenAivot.StopWhenTargetClose = true;
        //vihollisenAivot.TargetClose += VihollinenKukkulalla;
        //vihollisenAivot.Path = polku;

        PlatformWandererBrain vihollisenAivot = new PlatformWandererBrain();

        vihollisenAivot.JumpSpeed   = 350;
        vihollisenAivot.TriesToJump = true;
        vihollisenAivot.Speed       = 50;
        vihu.Brain = vihollisenAivot;
    }
Пример #6
0
    void LuoVihollinen(Vector paikka, double leveys, double korkeus)
    {
        vihollinen = new PlatformCharacter(leveys/2, korkeus);
        vihollinen.Color = Color.FromHexCode("FF0000");
        vihollinen.Image = LoadImage("vihollinen");
        vihollinen.Position = paikka;

        /*RandomMoverBrain satunnaisAivot = new RandomMoverBrain(200);
        satunnaisAivot.ChangeMovementSeconds = 3;
        vihollinen.Brain = satunnaisAivot;
        satunnaisAivot.Speed = 100;
        satunnaisAivot.Active = true;
        satunnaisAivot.TurnWhileMoving = true;
        vihollinen.CanRotate = false;*/

        PlatformWandererBrain tasoAivot = new PlatformWandererBrain();
        tasoAivot.Speed = 100;

        vihollinen.Brain = tasoAivot;

        Add(vihollinen);
    }
Пример #7
0
 void LuoBlob(Vector paikka, double korkeus, double leveys)
 {
     PlatformCharacter Blob = new PlatformCharacter(30.0, 30.0);
     Blob.Image = LoadImage("Blob");
     Blob.Position = paikka;
     PlatformWandererBrain tasoaivot = new PlatformWandererBrain();
     Blob.Brain = tasoaivot;
     Add(Blob);
 }
Пример #8
0
    void LisaaHahmoKartalle(Vector paikka, double leveys, double korkeus, Color vari)
    {
        // Magneta on pelaaja
        if (vari == PELAAJAN_ALOITUSPAIKAN_VARI)
        {
            PelaajanAloitusPaikat.Add(paikka);
        }
        else
        {
            PlatformCharacter hahmo = new PlatformCharacter(leveys, korkeus);
            hahmo.Position = paikka;
            hahmo.Image = RandomGen.SelectOne<Image>(HahmoKuvat[vari]);
            hahmo.Tag = Nimet[hahmo.Image];
            Add(hahmo, 2);
            PelissaOlevatHahmot.Add(hahmo);

            // Lisää vihollisille aivot
            PlatformWandererBrain aivot = new PlatformWandererBrain();
            aivot.Speed = PELAAJAN_KAVELYNOPEUS / 4;
            aivot.FallsOffPlatforms = false;
            aivot.TriesToJump = false;
            aivot.Active = false; // pistetään päälle kun peli alkaa
            hahmo.Brain = aivot;

            // Kun pelaaja osuu hahmoon, kutsutaan PelaajaOsuuHahmoon aliohjelmaa
            AddCollisionHandler(Pelaaja, hahmo, PelaajaOsuuHahmoon);
        }
    }
Пример #9
0
    void LuoVihollinen(Vector paikka, double korkeus, double leveys)
    {
        PlatformCharacter vihu = new PlatformCharacter(2*leveys/3, korkeus - 1);
        vihu.Color = Color.DarkForestGreen;
        vihu.Shape = Shape.Rectangle;
        vihu.Position = paikka;
        vihu.Tag = "vihollinen";

        // Haluamme, että vihollinen tekee jotain, joten annetaan sille aivot
        PlatformWandererBrain vihollisenAivot = new PlatformWandererBrain();
        vihollisenAivot.JumpSpeed = 350;
        vihollisenAivot.TriesToJump = true;
        vihollisenAivot.Speed = 100;

        vihu.Brain = vihollisenAivot;

        Add(vihu);
    }