Ignore:
Timestamp:
2011-08-04 14:58:51 (12 years ago)
Author:
alromaju
Message:

Talletus.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2011/31/AlisaJ/Tasohyppelypeli1/Tasohyppelypeli1/Peli.cs

    r2520 r2556  
    1111    Image LinnunKuva = LoadImage("pelin lintu1"); 
    1212 
    13  
     13    string seuraavaKentta = "kentta2.txt"; 
    1414 
    1515    const double nopeus = 300; 
     
    2727    public override void Begin() 
    2828    { 
    29          
    30  
    31         luoKentta(); 
    32         lisaaNappaimet(); 
    33         Camera.ZoomToLevel(); 
    34     } 
    35  
    36     void luoKentta() 
    37     { 
    38         TileMap kentta = TileMap.FromFile("kentta1.txt"); 
     29 
     30 
     31        MessageDisplay.Add("Moi! Paina A aloittaaksesi"); 
     32        MessageDisplay.TextColor = Color.White; 
     33        //:MessageDisplay. 
     34  
     35 
     36 
     37 
     38        Keyboard.Listen(Key.A, ButtonState.Pressed, aloitapeli, null); 
     39 
     40    } 
     41 
     42    void luoKentta(string kenttaTiedostonNimi) 
     43    { 
     44        ClearAll(); 
     45        TileMap kentta = TileMap.FromFile(kenttaTiedostonNimi); 
    3946        kentta.SetTileMethod('#', lisaaTaso); 
    4047        kentta.SetTileMethod('L', lisaalintu); 
    4148        kentta.Execute(10, 15); 
     49         
     50        Level.Background.Color = Color.SkyBlue; 
     51        pallo(); 
     52        LuoAikaLaskuri(); 
     53        lisaaNappaimet(); 
     54        LuoLaskuri(); 
     55        Camera.ZoomToLevel(); 
    4256        Level.CreateBorders(); 
    43         Level.Background.Color = Color.SkyBlue ; 
    44         pallo(); 
     57 
    4558    } 
    4659 
     
    4962        PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus); 
    5063        taso.Position = paikka; 
    51         taso.Color = Color. Gray ; 
     64        taso.Color = Color.Gray; 
    5265        taso.Restitution = 1.1; 
    5366        Add(taso); 
    5467    } 
    5568 
    56     void lisaaTahti(Vector paikka, double leveys, double korkeus) 
    57     { 
    58         PhysicsObject tahti = PhysicsObject.CreateStaticObject(leveys, korkeus); 
    59         tahti.IgnoresCollisionResponse = true; 
    60         tahti.Position = paikka; 
    61         tahti.Tag = "tahti"; 
    62         Add(tahti); 
    63     } 
     69 
    6470 
    6571    void lisaalintu(Vector paikka, double leveys, double korkeus) 
    6672    { 
    67         Lintu = new PhysicsObject(20, 20); 
     73        Lintu = new PhysicsObject(20, 20, Shape.Circle, CollisionShapeQuality.Best); 
    6874        Lintu.Position = paikka; 
    6975        Lintu.Mass = 4.0; 
     
    9197    void kasitteleLinnunTormays(PhysicsObject hahmo, PhysicsObject kohde) 
    9298    { 
    93         if (kohde.Tag.ToString() == "tahti") 
     99        if (kohde.Tag.ToString() == "pallo") 
    94100        { 
    95             maaliAani.Play(); 
    96             MessageDisplay.Add("Keräsit tähden!"); 
     101            MessageDisplay.Add("söit hyttysen!"); 
    97102            kohde.Destroy(); 
     103            pisteLaskuri.Value++; 
    98104        } 
     105 
    99106    } 
    100107 
     
    111118    { 
    112119        int i = 0; 
    113  
    114         while (i < 1500) 
     120        Gravity = new Vector(0, -500); 
     121        while (i < 250) 
    115122        { 
    116123 
    117             i++;  
    118             PhysicsObject pallo = new PhysicsObject(5,5); 
    119             pallo.Color =  RandomGen.NextColor (); 
     124            i++; 
     125            PhysicsObject pallo = new PhysicsObject(5, 5); 
     126            pallo.Color = RandomGen.NextColor(); 
    120127            pallo.Shape = Shape.Circle; 
    121             pallo.X = RandomGen.NextDouble(-1000, 1000); 
    122             pallo.Y = RandomGen.NextDouble(-1000, 1000); 
    123             Gravity = new Vector(0, -500); 
     128            pallo.X = RandomGen.NextDouble(Level.Left, Level.Right); 
     129            pallo.Y = RandomGen.NextDouble(Level.Bottom, Level.Top); 
     130             
    124131            pallo.Restitution = 1.1; 
    125  
     132            pallo.Tag = "pallo"; 
    126133 
    127134 
     
    132139 
    133140 
     141    DoubleMeter alaspainLaskuri; 
     142    Timer aikaLaskuri; 
     143 
     144    void LuoAikaLaskuri() 
     145    { 
     146        alaspainLaskuri = new DoubleMeter(60); 
     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.Black; 
     155        aikaNaytto.DecimalPlaces = 1; 
     156        aikaNaytto.BindTo(alaspainLaskuri); 
     157        Add(aikaNaytto); 
     158    } 
     159 
     160    void LaskeAlaspain() 
     161    { 
     162        alaspainLaskuri.Value -= 0.1; 
     163 
     164        if (alaspainLaskuri.Value <= 0) 
     165        { 
     166            MessageDisplay.Add("Aika loppui..."); 
     167            aikaLaskuri.Stop(); 
     168 
     169            Exit(); 
     170        } 
     171 
     172 
     173 
     174    } 
     175 
     176 
     177    void KasittelePallonTormays(PhysicsObject lintu, PhysicsObject pallo) 
     178    { 
     179         
     180    } 
     181 
     182     void laskuriYlarajassa( int arvo) 
     183     { 
     184         luoKentta(seuraavaKentta); 
     185         seuraavaKentta = "kentta3.txt"; 
     186     } 
     187 
     188 
     189        IntMeter pisteLaskuri; 
     190 
     191       void LuoLaskuri() 
     192    { 
     193        pisteLaskuri = new IntMeter(0); 
     194 
     195        Label pisteNaytto = new Label(); 
     196        pisteNaytto.X = Screen.Left + 100; 
     197        pisteNaytto.Y = Screen.Top - 100; 
     198        pisteNaytto.TextColor = Color.Pink; 
     199 
     200        pisteNaytto.BindTo(pisteLaskuri); 
     201        Add(pisteNaytto); 
     202 
     203        pisteLaskuri.MaxValue = 100; 
     204       pisteLaskuri.UpperLimit += laskuriYlarajassa; 
     205 
     206 
     207 
     208    
     209        
     210 
     211    } 
     212 
     213 
     214       void aloitapeli () 
     215       { luoKentta("kentta1.txt"); 
     216       } 
     217 
     218 
     219 
     220 
     221        
     222 
    134223} 
Note: See TracChangeset for help on using the changeset viewer.