Ignore:
Timestamp:
2010-07-29 11:33:40 (13 years ago)
Author:
jumakall
Message:

The Bus Gamen kehittelyä

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2010/30/jumakall/The_Bus_Game_Codetest/Peli.cs

    r1382 r1403  
    33using Jypeli.Widgets; 
    44using Jypeli.Assets; 
     5using System.Collections.Generic; 
    56 
    67public class Peli : TopDownPhysicsGame 
     
    89    PhysicsObject laatikko; 
    910    Automobile auto; 
     11    Dictionary<PhysicsObject, int> ihmisiaPysakilla; 
     12    int matkustajat; 
     13    DoubleMeter voimaMittari; 
    1014 
    1115    protected override void Begin() 
    1216    { 
    1317        KineticFriction = 0.8; // Asetetaan kitka 
     18 
     19        ihmisiaPysakilla = new Dictionary<PhysicsObject, int>(); 
    1420 
    1521        Automobile auto = new Automobile(40, 20); 
     
    2834 
    2935        Aloita(); 
     36        MessageDisplay.Add("Debug viestit käytössä"); 
     37         
     38 
    3039 
    3140        AddCollisionHandler(auto, kasittele); 
     41        matkustajat = 0; 
     42 
     43        //Auton täyttömittari 
     44        voimaMittari = new DoubleMeter(10); 
     45        voimaMittari.MaxValue = 30; 
     46        BarGauge voimaPalkki = new BarGauge(20, 150); 
     47        voimaPalkki.BindTo(voimaMittari); 
     48        Add(voimaPalkki); 
     49 
     50 
     51        voimaPalkki.X = (0.88 * Screen.RightSafe); 
     52        voimaPalkki.Y = (0.94 * Screen.TopSafe); 
     53        voimaPalkki.BarColor = Color.Green; 
     54        voimaPalkki.BorderColor = Color.White; 
     55        voimaPalkki.Angle = Angle.Degrees(90); 
     56 
     57        voimaMittari.Value = 0; 
     58 
     59        Label tekstikentta = new Label(50.0, 20.0, "Auton tila:"); 
     60        Add(tekstikentta); 
     61        tekstikentta.X = Screen.Right - 78; 
     62        tekstikentta.Y = Screen.Top - 10; 
     63 
     64 
    3265 
    3366 
     
    5487        PhysicsObject laatikko = new PhysicsObject(40.0, 40.0); 
    5588        laatikko.Position = RandomGen.NextVector(Level.Right, Level.Bottom, Level.Left, Level.Top); 
     89        laatikko.Tag = "laatikko"; 
    5690        Add(laatikko); 
     91 
     92        ihmisiaPysakilla.Add(laatikko, 10); 
    5793    } 
    5894 
    5995    void Aloita() 
    6096    { 
     97         
     98 
    6199        PhysicsObject vasenReuna = Level.CreateLeftBorder(); 
    62100        vasenReuna.Restitution = 1.0; 
     
    80118    void kasittele(PhysicsObject auto, PhysicsObject kohde) 
    81119    { 
    82         if (kohde == laatikko) 
     120 
     121        Explosion rajahdys = new Explosion(10000.0); 
     122        rajahdys.Position = auto.Position; 
     123        Add(rajahdys); 
     124 
     125 
     126        if (kohde.Tag == "laatikko") 
    83127        { 
    84             MessageDisplay.Add("Törmäys!!!"); 
     128            MessageDisplay.Add("Ihmisia pysäkillä" + ihmisiaPysakilla[kohde].ToString()); 
     129            MessageDisplay.Add("Matkustajia linja-autossa" + matkustajat.ToString()); 
     130 
     131            if (ihmisiaPysakilla[kohde] > 0) 
     132            { 
     133                matkustajat = matkustajat + ihmisiaPysakilla[kohde]; 
     134                ihmisiaPysakilla[kohde] = 0; 
     135                voimaMittari.Value = matkustajat; 
     136            } 
     137            else 
     138            { 
     139                MessageDisplay.Add("Tämä pysäkki on tyhjä"); 
     140            } 
     141            MessageDisplay.Add("Ihmisia pysäkillä" + ihmisiaPysakilla[kohde].ToString()); 
     142            MessageDisplay.Add("Matkustajia linja-autossa" + matkustajat.ToString()); 
     143 
    85144        } 
    86145    } 
Note: See TracChangeset for help on using the changeset viewer.