Changeset 3416 for 2012/26


Ignore:
Timestamp:
2012-06-29 12:44:31 (11 years ago)
Author:
tolappal
Message:

Talletus.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2012/26/TopiL/Spike Fall/Spike Fall/Spike Fall/Spike Fall/Spike_Fall.cs

    r3371 r3416  
    88 
    99/// <summary> 
    10 /// Sivusta päin kuvattu auto, jossa on kaksi pyörää. 
    1110/// </summary> 
    1211class RagDoll : PhysicsObject 
    1312{ 
    14     //PhysicsObject vartalo; 
    15     //AxleJoint vartaloLiitos; 
    16     //PhysicsObject vasenJalka; 
    17     //AxleJoint vasenJalkaLiitos; 
    18     //PhysicsObject oikeaJalka; 
    19     //AxleJoint oikeaJalkaLiitos; 
    20     //PhysicsObject vasenKasi; 
    21     //AxleJoint vasenKasiLiitos;     
    22     //PhysicsObject oikeaKasi; 
    23     //AxleJoint oikeaKasiLiitos; 
    24  
    2513    public RagDoll(double leveys, double korkeus) 
    2614        : base(leveys, korkeus) 
     
    3422    public void Kiihdyta(double kiihtyvyys) 
    3523    { 
    36         //double kulmakiiht = kiihtyvyys * vasenPyora.Width / 2; 
    37         //double hitaus = MomentOfInertia + vasenPyora.MomentOfInertia + oikeaPyora.MomentOfInertia; 
    38         //double vaanto = kulmakiiht * hitaus; 
    39         //double vaantoPerPyora = vaanto / 2; 
    40  
    41         //vasenPyora.ApplyTorque(vaantoPerPyora); 
    42         //oikeaPyora.ApplyTorque(vaantoPerPyora); 
     24 
    4325    } 
    4426 
     
    6143        vasenJalkaLiitos.Softness = 0.01; 
    6244        fysiikkaPeli.Add(vasenJalkaLiitos); 
    63  
    64         //vasenKasi = new PhysicsObject( 
    65         //vasenPyora.Position = this.Position + new Vector(-Width / 4, -Height / 2); 
    66  
    6745    } 
    6846 
    6947    public override void Destroy() 
    7048    { 
    71         //vasenLiitos.Destroy(); 
    72         //oikeaLiitos.Destroy(); 
    73         //vasenPyora.Destroy(); 
    74         //oikeaPyora.Destroy(); 
    7549        base.Destroy(); 
    7650    } 
     
    8054{ 
    8155 
    82     ExplosionSystem es = new ExplosionSystem(LoadImage("veri"), 3000); 
     56    ExplosionSystem es; 
    8357 
    8458    public override void Begin() 
    85     {    
    86         //RagDoll ragdoll = new RagDoll(40, 40); // pään koko 100 x 100 
    87         //ragdoll.Angle = Angle.FromDegrees(30); 
    88         //Add(ragdoll); 
     59    { 
     60        SetWindowSize(1024, 768, false); 
     61        Valikko(); 
     62    } 
     63 
     64    void AloitaPeli() 
     65    { 
     66        ClearAll(); 
     67 
    8968        Wind = new Vector(0, -200); 
     69        es = new ExplosionSystem(LoadImage("veri"), 3000); 
    9070        es.MaxLifetime = 15; 
    9171        es.MinLifetime = 10; 
     
    120100            es.AddEffect(p.Position, 50); 
    121101            vartaloLiitos.Destroy(); 
     102            LopetaPeli(); 
    122103        }); 
    123104 
     
    126107        vasenKasi.Top = vartalo.Top; 
    127108        vasenKasi.Right = vartalo.Left; 
    128         //vasenJalka.Position = vartalo.Position + new Vector(-vasenJalka.Height /1.4, -vartalo.Height / 1.6 - vasenJalka.Height / 2); 
    129109        vasenKasi.Image = Image.FromGradient((int)vartalo.Width, (int)vartalo.Height, Color.Ivory, Color.Charcoal); 
    130110        Add(vasenKasi); 
     
    143123        oikeaKasi.Top = vartalo.Top; 
    144124        oikeaKasi.Left = vartalo.Right; 
    145         //vasenJalka.Position = vartalo.Position + new Vector(-vasenJalka.Height /1.4, -vartalo.Height / 1.6 - vasenJalka.Height / 2); 
    146125        oikeaKasi.Image = Image.FromGradient((int)vartalo.Width, (int)vartalo.Height, Color.Ivory, Color.Charcoal); 
    147126        Add(oikeaKasi); 
     
    160139        vasenJalka.Top = vartalo.Bottom; 
    161140        vasenJalka.Right = vartalo.Left; 
    162         //vasenJalka.Position = vartalo.Position + new Vector(-vasenJalka.Height /1.4, -vartalo.Height / 1.6 - vasenJalka.Height / 2); 
    163141        vasenJalka.Image = Image.FromGradient((int)paa.Width, (int)paa.Height, Color.Charcoal, Color.Ivory); 
    164142        Add(vasenJalka); 
     
    178156        oikeaJalka.Top = vartalo.Bottom;  
    179157        oikeaJalka.Left = vartalo.Right; 
    180         //vasenJalka.Position = vartalo.Position + new Vector(-vasenJalka.Height /1.4, -vartalo.Height / 1.6 - vasenJalka.Height / 2); 
    181158        oikeaJalka.Image = Image.FromGradient((int)vartalo.Width, (int)vartalo.Height, Color.Charcoal, Color.Ivory); 
    182159         
     
    204181            oikeaKasi.Hit(RandomGen.NextVector(100, 500)); 
    205182            vasenKasi.Hit(RandomGen.NextVector(100, 500)); 
     183            LopetaPeli(); 
    206184        }); 
    207185 
     
    216194 
    217195        Timer ajastin = new Timer(); 
    218         ajastin.Interval = 1.0; 
     196        ajastin.Interval = RandomGen.NextInt(1, 5); 
    219197        ajastin.Timeout += Piikit; 
    220198        ajastin.Start(); 
    221199 
     200        Timer ajastin2 = new Timer(); 
     201        ajastin2.Interval = RandomGen.NextInt(1, 6); 
     202        ajastin2.Timeout += Piikit2; 
     203        ajastin2.Start(); 
     204 
     205        Timer ajastin3 = new Timer(); 
     206        ajastin3.Interval = RandomGen.NextInt(1, 8); 
     207        ajastin3.Timeout += Piikit3; 
     208        ajastin3.Start(); 
     209 
     210        Timer ajastin4 = new Timer(); 
     211        ajastin4.Interval = RandomGen.NextInt(1, 14); 
     212        ajastin4.Timeout += Piikit4; 
     213        ajastin4.Start(); 
     214 
    222215        LuoAikaLaskuri(); 
    223216 
    224         SetWindowSize(1024, 768, false); 
    225  
    226217        Camera.ZoomToLevel(); 
    227218 
    228219        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
     220    } 
     221 
     222    void Valikko() 
     223    { 
     224        ClearAll(); 
     225        MultiSelectWindow alkuValikko = new MultiSelectWindow("Pelin alkuvalikko", 
     226        "Aloita peli", "Lopeta"); 
     227        Add(alkuValikko); 
     228        alkuValikko.ItemSelected += PainettiinValikonNappia; 
     229    } 
     230 
     231    void PainettiinValikonNappia(int valinta) 
     232    { 
     233        switch (valinta) 
     234        { 
     235            case 0: 
     236                AloitaPeli(); 
     237                break; 
     238            case 1: 
     239                Exit(); 
     240                break; 
     241        } 
     242    }  
     243 
     244    void LopetaPeli() 
     245    { 
     246        Keyboard.DisableAll(); 
     247        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Valikko, ""); 
    229248    } 
    230249 
     
    235254 
    236255        Label aikaNaytto = new Label(); 
    237         aikaNaytto.TextColor = Color.White; 
     256        aikaNaytto.TextColor = Color.Silver; 
    238257        aikaNaytto.DecimalPlaces = 1; 
    239258        aikaNaytto.BindTo(aikaLaskuri.SecondCounter); 
     
    243262    void Piikit() 
    244263    { 
    245         LuoPiikki(RandomGen.NextDouble(Level.Left, Level.Right), 345); 
    246         LuoPiikki(0, 345); 
    247         LuoPiikki(-400, 345); 
     264        LuoPiikki(RandomGen.NextDouble(Level.Left, Level.Right), 340); 
     265        LuoPiikki(RandomGen.NextDouble(Level.Left, Level.Right), 340); 
     266    } 
     267 
     268    void Piikit2() 
     269    { 
     270        LuoPiikki2(RandomGen.NextDouble(Level.Left, Level.Right), 340); 
     271        LuoPiikki2(RandomGen.NextDouble(Level.Left, Level.Right), 340); 
     272    } 
     273 
     274    void Piikit3() 
     275    { 
     276        LuoPiikki3(RandomGen.NextDouble(Level.Left, Level.Right), 340); 
     277        LuoPiikki3(RandomGen.NextDouble(Level.Left, Level.Right), 340); 
     278        LuoPiikki3(RandomGen.NextDouble(Level.Left, Level.Right), 340); 
     279    } 
     280 
     281    void Piikit4() 
     282    { 
     283        LuoPiikki4(RandomGen.NextDouble(Level.Left, Level.Right), 340); 
     284        LuoPiikki4(RandomGen.NextDouble(Level.Left, Level.Right), 340); 
     285        LuoPiikki4(RandomGen.NextDouble(Level.Left, Level.Right), 340); 
    248286    } 
    249287 
     
    253291        Piikki.Image = LoadImage("Piikki2"); 
    254292        Piikki.Position = new Vector(x, y); 
    255         Piikki.Mass = 1; 
    256293        Piikki.Tag = "piikki"; 
    257         Piikki.Restitution = 0.5; 
    258294        Add(Piikki); 
    259295        AddCollisionHandler(Piikki, CollisionHandler.DestroyObject); 
    260296    } 
    261297 
     298    void LuoPiikki2(double x, double y) 
     299    { 
     300        PhysicsObject Piikki2 = new PhysicsObject(30, 80); 
     301        Piikki2.Image = LoadImage("Piikki2"); 
     302        Piikki2.Position = new Vector(x, y); 
     303        Piikki2.Tag = "piikki"; 
     304        Add(Piikki2); 
     305        AddCollisionHandler(Piikki2, CollisionHandler.DestroyObject); 
     306    } 
     307 
     308    void LuoPiikki3(double x, double y) 
     309    { 
     310        PhysicsObject Piikki3 = new PhysicsObject(30, 80); 
     311        Piikki3.Image = LoadImage("Piikki2"); 
     312        Piikki3.Position = new Vector(x, y); 
     313        Piikki3.Tag = "piikki"; 
     314        Add(Piikki3); 
     315        AddCollisionHandler(Piikki3, CollisionHandler.DestroyObject); 
     316    } 
     317 
     318    void LuoPiikki4(double x, double y) 
     319    { 
     320        PhysicsObject Piikki4 = new PhysicsObject(30, 80); 
     321        Piikki4.Image = LoadImage("Piikki2"); 
     322        Piikki4.Position = new Vector(x, y); 
     323        Piikki4.Tag = "piikki"; 
     324        Add(Piikki4); 
     325        AddCollisionHandler(Piikki4, CollisionHandler.DestroyObject); 
     326    } 
     327 
    262328    void Liikuta(PhysicsObject pallo, Vector suunta) 
    263329    { 
Note: See TracChangeset for help on using the changeset viewer.