Esempio n. 1
0
    /// <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;
    }
Esempio n. 2
0
 /// <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);
 }