Changeset 6449 for 2015


Ignore:
Timestamp:
2015-06-26 11:33:13 (8 years ago)
Author:
jojuojal
Message:
 
Location:
2015/26/JoonaO
Files:
1 deleted
6 edited

Legend:

Unmodified
Added
Removed
  • 2015/26/JoonaO/Autopeli1.cs

    r6364 r6449  
    1414    Image autonKuva = LoadImage("Auto3"); 
    1515    Image taustaKuva = LoadImage("rata"); 
    16      
     16    PhysicsObject viiva; 
     17    DoubleMeter alaspainLaskuri; 
     18    Timer aikaLaskuri; 
     19 
    1720    public override void Begin() 
    1821    { 
     22        AlkuValikko(); 
     23 
     24    } 
     25 
     26    void AlkuValikko() 
     27    { 
     28        ClearAll(); 
     29 
    1930        SetWindowSize(1000, 800); 
    20         Level.CreateBorders(); 
     31        Surfaces seinat = Level.CreateBorders(); 
    2132        Level.Background.Image = taustaKuva; 
     33 
     34        MultiSelectWindow alkuValikko = new MultiSelectWindow("MeneeLintassa", 
     35"Aloita peli", "Lopeta"); 
     36        alkuValikko.Color = Color.Red; 
     37        Add(alkuValikko); 
     38        alkuValikko.AddItemHandler(0, AloitaPeli); 
     39 
     40        alkuValikko.AddItemHandler(1, Exit); 
     41 
     42    } 
     43 
     44    void LiikutaPelaajaa(Vector vektori) 
     45    { 
     46        auto.Push(vektori); 
     47    } 
     48 
     49    void Ajastin() 
     50    { 
     51        Timer aikaLaskuri = new Timer(); 
     52        aikaLaskuri.Start(); 
     53 
     54        Label aikaNautto = new Label(); 
     55        aikaNautto.TextColor = Color.White; 
     56        aikaNautto.DecimalPlaces = 1; 
     57        aikaNautto.BindTo(aikaLaskuri.SecondCounter); 
     58        double aikaaKulunut = aikaLaskuri.SecondCounter.Value; 
     59        Add(aikaNautto); 
     60    } 
     61 
     62    void KaasutaAutoa() 
     63    { 
     64        auto.Accelerate(); 
     65    } 
     66 
     67    void KaannaPelaajaa(Angle kulma) 
     68    { 
     69        auto.Turn(kulma, 1.0); 
     70    } 
     71 
     72    void Jarruta() 
     73    { 
     74        auto.Brake(); 
     75    } 
     76 
     77    void PelaajaTormasi(PhysicsObject tormaaja, PhysicsObject kohde) 
     78    { 
     79        if (kohde != viiva) 
     80        { 
     81            MessageDisplay.Add("Vedit seinää päi!"); 
     82            hyppyAani.Play(); 
     83            MessageDisplay.Add("Bump!"); 
     84        } 
     85    } 
     86 
     87    void AloitaPeli() 
     88    { 
     89 
    2290        auto = new Automobile(50, 38); 
    2391        auto.Shape = Shape.Rectangle; 
    2492        auto.Mass = 100000000000.0; 
    25          
    26  
    2793        auto.AngularDamping = 0.9; 
    2894        auto.Image = autonKuva; 
     95        auto.X = -Level.Width / 4; 
     96        auto.Y += Level.Height / 3 + auto.Height; 
    2997        Add(auto); 
    30         AloitaPeli(); 
    31          
    32  
    33         
    34         MultiSelectWindow alkuValikko = new MultiSelectWindow("Pelin alkuvalikko", 
    35 "Aloita peli", "Parhaat pisteet", "Lopeta"); 
    36         alkuValikko.Color = Color.Red; 
    37         Add(alkuValikko); 
    38         alkuValikko.AddItemHandler(0, AloitaPeli); 
    39         alkuValikko.AddItemHandler(1, ParhaatPisteet); 
    40         alkuValikko.AddItemHandler(2, Exit); 
    41         Pause(); 
    42          
     98 
     99        viiva = PhysicsObject.CreateStaticObject(10, auto.Height * 2 + 5); 
     100        viiva.X = -Level.Width / 4 + auto.Width; 
     101        viiva.Y += Level.Height / 3 + viiva.Height / 2 - 7; 
     102        viiva.IgnoresCollisionResponse = true; 
     103        Add(viiva); 
     104 
     105        LuoAikaLaskuri(); 
     106 
     107        AddCollisionHandler(auto, viiva, Kaunnistaaika); 
     108        LuoCheckPoint(); 
    43109        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
    44110        ControllerOne.Vibrate(0.5, 0.5, 0.0, 0.0, 0.1); 
     
    50116        Keyboard.Listen(Key.P, ButtonState.Pressed, Pause, "Pysäyttää pelin"); 
    51117        Mouse.IsCursorVisible = true; 
     118 
    52119        AddCollisionHandler(auto, PelaajaTormasi); 
    53     } 
    54     void LiikutaPelaajaa(Vector vektori) 
    55     { 
    56         auto.Push(vektori); 
    57     } 
    58     void Ajastin() 
    59     { 
    60         Timer aikaLaskuri = new Timer(); 
    61         aikaLaskuri.Start(); 
    62  
    63         Label aikaNautto = new Label(); 
    64         aikaNautto.TextColor = Color.White; 
    65         aikaNautto.DecimalPlaces = 1; 
    66         aikaNautto.BindTo(aikaLaskuri.SecondCounter); 
    67         double aikaaKulunut = aikaLaskuri.SecondCounter.Value; 
    68         Add(aikaNautto); 
    69     } 
    70     void KaasutaAutoa() 
    71     { 
    72         auto.Accelerate(); 
    73     } 
    74     void KaannaPelaajaa(Angle kulma) 
    75     { 
    76         auto.Turn(kulma, 1.0); 
    77     } 
    78     void Jarruta() 
    79     { 
    80         auto.Brake(); 
    81     } 
    82     void PelaajaTormasi(PhysicsObject tormaaja, PhysicsObject kohde) 
    83     { 
    84         MessageDisplay.Add("Vedit seinää päi!"); 
    85         hyppyAani.Play(); 
    86     } 
    87     void AloitaPeli() 
    88     { 
    89  
    90     } 
     120        //AddCollisionHandler(auto, PelaajatTormaavat); 
     121    } 
     122 
    91123    void ParhaatPisteet() 
    92124    { 
     
    94126    } 
    95127 
    96   
    97  
    98  
    99  
    100  
    101  
    102  
    103  
    104  
    105  
    106  
    107  
    108  
    109  
    110  
    111  
    112  
    113  
    114  
     128    void Kaunnistaaika(PhysicsObject auto, PhysicsObject viiva) 
     129    { 
     130        if (!aikaLaskuri.Enabled) 
     131        { 
     132            alaspainLaskuri.Value = 30; 
     133            aikaLaskuri.Start(); 
     134        } 
     135        else 
     136        { 
     137            aikaLaskuri.Stop(); 
     138        } 
     139 
     140    } 
    115141 
    116142    
    117143 
     144    void LuoAikaLaskuri() 
     145    { 
     146        alaspainLaskuri = new DoubleMeter(30); 
     147 
     148        aikaLaskuri = new Timer(); 
     149        aikaLaskuri.Interval = 0.1; 
     150        aikaLaskuri.Timeout += LaskeAlaspain; 
     151        //aikaLaskuri.Start(); 
     152 
     153        Label aikaNaytto = new Label(); 
     154        aikaNaytto.TextColor = Color.White; 
     155        aikaNaytto.DecimalPlaces = 1; 
     156        aikaNaytto.BindTo(alaspainLaskuri); 
     157        aikaNaytto.Position -= new Vector(100, 0); 
     158        aikaNaytto.Color = Color.White; 
     159        aikaNaytto.TextColor = Color.Black; 
     160        Add(aikaNaytto); 
     161    } 
     162 
     163    void LaskeAlaspain() 
     164    { 
     165        alaspainLaskuri.Value -= 0.1; 
     166 
     167        if (alaspainLaskuri.Value <= 0) 
     168        { 
     169            MessageDisplay.Add("Aika loppui..."); 
     170            aikaLaskuri.Stop(); 
     171            double aikaaKulunut = aikaLaskuri.SecondCounter.Value; 
     172            //Exit(); 
     173            Timer.SingleShot(3, AlkuValikko); 
     174        } 
     175    } 
     176 
     177 
     178    void PelaajatTormaavat(PhysicsObject tormaaja, PhysicsObject kohde) 
     179    { 
     180        MessageDisplay.Add("Bump!"); 
     181    } 
     182 
     183    void LuoCheckPoint() 
     184    { 
     185        PhysicsObject viiva = PhysicsObject.CreateStaticObject(10, auto.Height * 2 + 5); 
     186        viiva.Color = Color.Red; 
     187        viiva.X = -Level.Width / 4 + auto.Width; 
     188        viiva.Y += Level.Height / 3 + viiva.Height / 2 - 7; 
     189        viiva.IgnoresCollisionResponse = true; 
     190        Add(viiva); 
     191    } 
     192 
     193 
     194 
     195 
     196 
     197 
     198 
     199 
     200 
     201 
     202 
     203 
     204 
     205 
     206 
     207 
     208 
    118209 
    119210} 
Note: See TracChangeset for help on using the changeset viewer.