Changeset 2584 for 2011/31/TommiL


Ignore:
Timestamp:
2011-08-05 12:01:30 (8 years ago)
Author:
tolinnav
Message:

Talletus.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2011/31/TommiL/pallopeli/pallopeli/pallopeli/Peli.cs

    r2563 r2584  
    1010{ 
    1111    PhysicsObject robotti; 
     12    Timer aikaLaskuri; 
    1213    int elama = 0; 
    1314 
    1415    Image olionKuva = LoadImage("kuva"); 
    1516    Image olionKuva2 = LoadImage("sydän"); 
    16     Image olionkuva3 = LoadImage("maali"); 
    17  
    18      
    1917 
    2018    PhysicsObject[] sydamet = new PhysicsObject[10]; 
     19    ScoreList topLista = new ScoreList(10, false, 5); 
    2120 
    2221    public override void Begin() 
    2322    { 
     23        if (DataStorage.Exists("pisteet.xml")) 
     24            topLista = DataStorage.Load<ScoreList>(topLista, "pisteet.xml"); 
     25 
     26         
     27 
     28 
    2429        robotti = new PhysicsObject(30,30); 
    2530        Add(robotti); 
     
    2934        robotti.Image = olionKuva; 
    3035        robotti.Tag = "robotti"; 
     36        
     37 
    3138 
    3239        robotti.CanRotate = false; 
     
    4047        Keyboard.Listen(Key.Down, ButtonState.Down, 
    4148          LiikutaPelaajaa, null, new Vector(0, -1000)); 
    42         AddCollisionHandler(robotti, kasittelerobotintormays); 
    4349        
    4450 
     
    5056 
    5157        tehdapallot(); 
    52         luomaali(); 
    53         tehdasyotavaa(); 
     58        LuoAikaLaskuri(); 
    5459        while (elama < 3) 
    5560        { 
     
    5762        } 
    5863         
    59          
    60          
    6164    } 
     65 
     66 
    6267 
    6368    void LiikutaPelaajaa(Vector vektori) 
     
    6974    { 
    7075        int i = 0; 
    71         while (i < 35) 
     76        while (i < 30) 
    7277        { 
    7378            PhysicsObject pallo = new PhysicsObject(20, 20); 
     
    7984            pallo.Restitution = 1.5; 
    8085            pallo.Tag = "pallo"; 
    81             pallo.CollisionIgnoreGroup = 1; 
     86            pallo.CollisionIgnoreGroup = (1); 
    8287            robotti.LinearDamping = 0.95; 
    8388 
     
    9499    { 
    95100        if (kohde.Tag.ToString() == "robotti") 
    96  
    97  
    98101        { 
    99102            Explosion rajahdys = new Explosion(100.100); 
     
    101104            Add(rajahdys); 
    102105            rajahdys.Speed = 150.0; 
    103             rajahdys.Force = 30;             
     106            rajahdys.Force = 30; 
    104107            elama--; 
    105108            sydamet[elama].Destroy(); 
    106             if (elama == 0) kohde.Destroy(); 
     109            if (elama == 0)  
     110            { 
     111                kohde.Destroy(); 
     112                double aikaaKulunut = aikaLaskuri.SecondCounter.Value; 
     113                aikaLaskuri.Stop(); 
     114 
     115                HighScoreWindow topIkkuna = new HighScoreWindow("pallopeli", 
     116                             "Parhaat pisteet", 
     117                             "Onneksi olkoon, pääsit listalle pisteillä %p! Syötä nimesi:", 
     118                             topLista, aikaaKulunut); 
     119                topIkkuna.Closed += TallennaPisteet; 
     120                Add(topIkkuna); 
     121            } 
     122             
     123 
     124 
     125 
     126 
     127 
    107128        }      
    108129    } 
     
    125146 
    126147    } 
    127     void luomaali() 
    128     { 
    129         PhysicsObject maali = new PhysicsObject(50, 50); 
    130         maali.X = 475; 
    131         maali.Y = 375; 
    132         maali.CanRotate = false; 
    133         maali.IgnoresExplosions = true; 
    134         maali.CollisionIgnoreGroup = 1; 
    135         maali.Image = olionkuva3; 
    136         maali.Tag = "maali"; 
    137         Add(maali); 
    138  
    139     } 
    140     void kasittelerobotintormays(PhysicsObject robotti, PhysicsObject kohde) 
    141     { 
    142         if (kohde.Tag.ToString() == "maali") 
    143  
    144         { 
    145             Exit(); 
    146         } 
    147     } 
    148  
    149     void tehdasyotavaa() 
    150     { 
    151         int i = 0; 
    152         while (i < 20) 
    153         { 
    154             PhysicsObject syötävä = new PhysicsObject(10, 10); 
    155             
    156             Add(syötävä); 
    157             syötävä.X = RandomGen.NextDouble(-400, 400); 
    158             syötävä.Y = RandomGen.NextDouble(-400, 400); 
    159             i++; 
    160         } 
    161     } 
    162148     
    163149 
     150     
     151     
     152 
     153    void LuoAikaLaskuri() 
     154{ 
     155    aikaLaskuri = new Timer(); 
     156    aikaLaskuri.Start(); 
     157 
     158    Label aikaNaytto = new Label(); 
     159    aikaNaytto.TextColor = Color.Gray; 
     160    aikaNaytto.DecimalPlaces = 1; 
     161    aikaNaytto.BindTo(aikaLaskuri.SecondCounter); 
     162    Add(aikaNaytto); 
     163} 
     164 
     165    void TallennaPisteet(Window sender) 
     166    { 
     167        DataStorage.Save<ScoreList>(topLista, "pisteet.xml"); 
     168    }    
    164169} 
    165170     
Note: See TracChangeset for help on using the changeset viewer.