Changeset 1361


Ignore:
Timestamp:
2010-07-28 11:30:44 (9 years ago)
Author:
samipunn
Message:

Mislelaunch, raketit lentää.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2010/30/samipunn/Misle Launch/Peli.cs

    r1328 r1361  
    66public class Peli : PhysicsGame 
    77{ 
     8 
     9 
    810    PhysicsObject ohjus; 
     11    PhysicsObject ohjus2; 
    912    double kaantyyOikealle = 5; 
    1013    double kaantyyVasemmalle = -5; 
    1114    protected override void Begin() 
    1215    { 
     16        LuoReunat(); 
     17        Camera.ZoomToLevel(); 
     18 
    1319        ohjus = new PhysicsObject(10, 40); 
    1420        ohjus.Shape = Shapes.Rectangle; 
    15         ohjus.X = -600; 
    16         ohjus.Y = -470; 
     21        ohjus.X = -100; 
     22        ohjus.Y = -0; 
     23        AddCollisionHandler(ohjus, Tormays); 
    1724        Add(ohjus); 
     25         
     26 
     27        ohjus2 = new PhysicsObject(10, 40); 
     28        ohjus2.Shape = Shapes.Rectangle; 
     29        ohjus2.X = 100; 
     30        ohjus2.Y = 0; 
     31        AddCollisionHandler(ohjus2, Tormays2);  
     32        Add(ohjus2); 
    1833        AsetaOhjaimet(); 
     34 
     35        Painovoima(); 
     36        Ilmanvastus(); 
    1937    } 
    2038    void AsetaOhjaimet() 
    2139    { 
    22         Keyboard.Listen(Key.A, ButtonState.Down, OhjusKaantyy, "Kaanna Ohjusta Vasemmalle", ohjus, kaantyyVasemmalle); 
     40        Keyboard.Listen(Key.Z, ButtonState.Down, OhjusKaantyy, "Kaanna Ohjusta Vasemmalle", ohjus, kaantyyVasemmalle); 
     41        Keyboard.Listen(Key.Z, ButtonState.Released, OhjusKaantyy, null, ohjus,0.0); 
     42        Keyboard.Listen(Key.A, ButtonState.Down, OhjusKaantyy, "Kaanna Ohjusta Oikealle", ohjus, kaantyyOikealle); 
    2343        Keyboard.Listen(Key.A, ButtonState.Released, OhjusKaantyy, null, ohjus,0.0); 
    24         Keyboard.Listen(Key.Z, ButtonState.Down, OhjusKaantyy, "Kaanna Ohjusta Oikealle", ohjus, kaantyyOikealle); 
    25         Keyboard.Listen(Key.Z, ButtonState.Released, OhjusKaantyy, null, ohjus,0.0); 
    2644 
    27         //Keyboard.Listen(Key.Up, ButtonState.Down, AsetaNopeus, "Pelaaja 2: Liikuta mailaa ylös", maila2, nopeusYlos); 
    28         //Keyboard.Listen(Key.Up, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 
    29         //Keyboard.Listen(Key.Down, ButtonState.Down, AsetaNopeus, "Pelaaja 2: Liikuta mailaa alas", maila2, nopeusAlas); 
    30         //Keyboard.Listen(Key.Down, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 
     45        Keyboard.Listen(Key.Up, ButtonState.Down, Ohjus2Kaantyy, "Kaanna Ohjusta2 Vasemmalle", ohjus2, kaantyyVasemmalle); 
     46        Keyboard.Listen(Key.Up, ButtonState.Released, Ohjus2Kaantyy, null, ohjus2, 0.0); 
     47        Keyboard.Listen(Key.Down, ButtonState.Down, Ohjus2Kaantyy, "Kaanna Ohjusta2 Oikealle", ohjus2, kaantyyOikealle); 
     48        Keyboard.Listen(Key.Down, ButtonState.Released, Ohjus2Kaantyy, null, ohjus2, 0.0); 
    3149 
    3250        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet"); 
     
    4058        ohjus.Angle = valiaik; 
    4159    } 
     60 
     61    void Ohjus2Kaantyy(PhysicsObject ohjus2, double nopeus) 
     62    { 
     63        Angle valiaik = ohjus2.Angle; 
     64        valiaik.Degree += nopeus; 
     65        ohjus2.Angle = valiaik; 
     66    } 
     67    void Paivitys() 
     68    { 
     69    ohjus.Push(Vector.FromLengthAndAngle(1500, ohjus.Angle + Angle.RightAngle)); 
     70    ohjus2.Push(Vector.FromLengthAndAngle(1500, ohjus2.Angle + Angle.RightAngle)); 
     71 
     72    } 
     73 
     74    void Painovoima() 
     75    { 
     76        Gravity = new Vector(0.0, -800.0); 
     77 
     78    } 
     79 
     80    void Ilmanvastus() 
     81    { 
     82       ohjus.LinearDamping = 0.9; 
     83       ohjus2.LinearDamping = 0.9; 
     84    } 
     85    protected override void Update(Time time) 
     86    { 
     87    Paivitys(); 
     88    base.Update(time); 
     89    } 
     90 
     91    void LuoReunat() 
     92    { 
     93        Level.CreateBottomBorder(); 
     94        Level.CreateTopBorder(); 
     95    } 
     96 
     97    void Tormays(PhysicsObject ohjus, PhysicsObject kohde) 
     98    { 
     99        ohjus.Destroy(); 
     100        Explosion rajahdys = new Explosion(60); 
     101        rajahdys.Position = ohjus.Position; 
     102        rajahdys.Speed = 300.0; 
     103        rajahdys.Force = 90;         
     104        Add(rajahdys); 
     105         
     106 
     107    } 
     108 
     109    void Tormays2(PhysicsObject ohjus, PhysicsObject kohde) 
     110    { 
     111        ohjus2.Destroy();  
     112        Explosion rajahdys = new Explosion(60); 
     113        rajahdys.Position = ohjus2.Position; 
     114        rajahdys.Speed = 300.0; 
     115        rajahdys.Force = 90; 
     116        Add(rajahdys); 
     117        } 
     118 
     119    DoubleMeter alaspainLaskuri; 
     120 
     121void LuoAikaLaskuri() 
     122{ 
     123    alaspainLaskuri = new DoubleMeter(30); 
     124     
     125    Timer aikaLaskuri = new Timer(); 
     126    aikaLaskuri.Interval = 0.1; 
     127    aikaLaskuri.Trigger += LaskeAlaspain; 
     128    Add(aikaLaskuri); 
     129    aikaLaskuri.Start(); 
     130 
     131    Label aikaNaytto = new Label(); 
     132    aikaNaytto.TextColor = Color.White; 
     133    aikaNaytto.DecimalPlaces = 1; 
     134    aikaNaytto.BindTo(alaspainLaskuri); 
     135    Add(aikaNaytto); 
    42136} 
     137 
     138void LaskeAlaspain(Timer timer) 
     139{ 
     140    alaspainLaskuri.Value -= 0.1; 
     141 
     142    if (alaspainLaskuri.Value <= 0) 
     143    { 
     144        MessageDisplay.Add("Aika loppui..."); 
     145        timer.Stop(); 
     146        
     147        // täydennä mitä tapahtuu, kun aika loppuu 
     148    } 
     149} 
     150 
     151 
     152} 
     153 
Note: See TracChangeset for help on using the changeset viewer.