示例#1
0
文件: Peli.cs 项目: Anttifer/Jypeli
    PhysicsObject LuoLaskuvarjo(double x, double y)
    {
        PhysicsObject tyyppi = new PhysicsObject(50, 80);

        tyyppi.Mass                     = RandomGen.NextDouble(5, 15);
        tyyppi.X                        = x;
        tyyppi.Y                        = y;
        tyyppi.LinearDamping            = RandomGen.NextDouble(0.6, 0.9);
        tyyppi.CanRotate                = false;
        tyyppi.IgnoresCollisionResponse = true;
        tyyppi.Tag                      = "tyyppi";
        AddCollisionHandler(tyyppi, laskuvarjonTormays);

        if (RandomGen.NextBool())
        {
            tyyppi.Animation     = new Animation(laskuvarjoKuvat);
            tyyppi.Animation.FPS = RandomGen.NextDouble(3, 6);
        }
        else
        {
            tyyppi.Animation     = new Animation(laskuvarjo2Kuvat);
            tyyppi.Animation.FPS = RandomGen.NextDouble(3, 6);
        }

        tyyppi.Animation.Start();
        Add(tyyppi);
        return(tyyppi);
    }
示例#2
0
    void KranuOsui(IPhysicsObject rajahdyksenKohde, Vector v)
    {
        bool x = RandomGen.NextBool();

        if (x)
        {
            LuoVihollinen(new Vector(Level.Right - 40, Level.Bottom + 70), 30, 30);
        }
        else
        {
            LuoVihollinen(new Vector(Level.Left + 40, Level.Bottom + 70), 30, 30);
        }

        LuoAivot();
        rajahdyksenKohde.Destroy();
    }
示例#3
0
文件: Peli.cs 项目: Anttifer/Jypeli
    //Hallitse koptereiden ja laskuvarjomiesten tiheyttä & määrää jne täältä ja ajastimen intervalista
    void kopteriPaivitys()
    {
        for (int i = 0; i < kopteriLista.Count; i++)
        {
            if (kopteriLista[i].IsDestroyed)
            {
                kopteriLista.Remove(kopteriLista[i]);
            }
            else if (kopteriLista[i].Left > Level.Right && kopteriLista[i].Velocity.X > 0)
            {
                kopteriLista[i].X = Level.Left - kopteriLista[i].Width;
                kopteriLista[i].Y = RandomGen.NextDouble(Level.Top - 600, Level.Top - 50);
            }
            else if (kopteriLista[i].Right < Level.Left && kopteriLista[i].Velocity.X < 0)
            {
                kopteriLista[i].X = Level.Right + kopteriLista[i].Width;
                kopteriLista[i].Y = RandomGen.NextDouble(Level.Top - 600, Level.Top - 50);
            }
        }

        for (int j = 0; j < kopteriLista.Count; j++)
        {
            if (RandomGen.NextInt(0, 4) < 1)
            {
                int k = RandomGen.NextInt(0, kopteriLista.Count);

                if (kopteriLista[k].Left > Level.Left && kopteriLista[k].Right < Level.Right)
                {
                    tyyppiLista.Add(LuoLaskuvarjo(kopteriLista[k].X, kopteriLista[k].Y));
                }
            }
        }

        if (RandomGen.NextInt(0, 5) < 1)
        {
            LuoKopteri(RandomGen.NextBool());
        }
    }