Ignore:
Timestamp:
2009-07-24 11:35:57 (10 years ago)
Author:
aledhiet
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • aleksi_h/Pallopeli/Peli.cs

    r136 r162  
    3131        PhysicsObject maali; 
    3232 
    33         Timer sekuntiKello = new Timer(); 
    34  
    35         int kenttaNro; 
    36         int keratytTahdet = 0; 
    37         int sekunnit; 
     33        int keratytKultakimpaleet = 0; 
    3834 
    3935        // monesko kenttä on menossa 
     
    4642            SetWindowSize(true); 
    4743 
    48             // Asetetaan kentän numero nollaksi, jota kasvatetaan kentän latauksessa (aina siis vähintään 1) 
    49             kenttaNro = 0; 
    50  
    5144            DrawPerimeter = false; // ei haluta piirtää kentän reunoja 
    5245 
     
    6861            MessageDisplay.Clear(); 
    6962 
    70             kenttaNro = 0; 
    71             keratytTahdet = 0; 
    72  
    73             Level = seuraavaKentta(); 
    74  
    75             sekuntiKello.Interval = 1; 
    76             sekuntiKello.Trigger += new Timer.TriggerHandler(paivita); 
    77             AddTimer(sekuntiKello); 
    78             sekuntiKello.Start(); 
    79             sekunnit = 0; 
     63            keratytKultakimpaleet = 0; 
     64 
     65            elamaLaskuri.Reset(); 
     66            Camera.Follow(pelaaja1); 
     67 
     68            Level = luoKentta(); 
    8069 
    8170            // Laitetaan peliohje näyttöön 
     
    9584 
    9685        } 
    97  
    98         void paivita(Timer sender) 
    99         { 
    100             ++sekunnit; 
    101         } 
    102  
    10386        #endregion 
    10487 
     
    10689        #region KentanLataus 
    10790 
    108         Level seuraavaKentta() 
    109         { 
     91        Level luoKentta() 
     92        { 
     93            MessageDisplay.Clear(); 
     94 
     95            keratytKultakimpaleet = 0; 
     96 
    11097            elamaLaskuri.Reset(); 
    111             kenttaNro += 1; // lisätään kenttänumeroa yhdellä 
    112             Level seuraava = luoKentta(); 
    113             lisaaNappaimet(); 
    11498            Camera.Follow(pelaaja1); 
    115             return seuraava; 
    116         } 
    117  
    118         Level luoKentta() 
    119         { 
     99 
    120100            Level kentta = new Level(this, 2000, 1000); 
    121101            kentta.CreateBorder(); 
     
    144124            lisaaViholliset(kentta, 5); 
    145125 
     126            lisaaNappaimet(); 
     127            Camera.Follow(pelaaja1); 
     128 
    146129            return kentta; 
    147130        } 
     
    161144            pelaaja1.Y = kentta.Bottom + 120; 
    162145 
     146            pelaaja1.Restitution = 0; 
     147 
    163148            AddCollisionHandler(pelaaja1, osuiMaaliin); 
    164149 
     
    170155            for (int i = 0; i < 20; i++) 
    171156            { 
    172                 PhysicsObject tahti = new PhysicsObject(0.005, Shapes.CreateCircle(12)); 
    173                 tahti.X = RandomGen.NextDouble(-475.0, 475.0); 
    174                 tahti.Y = 400.0; 
    175                 tahti.Restitution = 1.0; 
    176                 tahti.Texture = Content.Load<Texture2D>("kultakimpale"); 
    177                 AddCollisionHandler(tahti, keraa); 
    178                 kentta.Objects.Add(tahti); 
     157                PhysicsObject kultakimpale = new PhysicsObject(0.005, Shapes.CreateCircle(12)); 
     158                kultakimpale.X = RandomGen.NextDouble(-475.0, 475.0); 
     159                kultakimpale.Y = 400.0; 
     160                kultakimpale.Restitution = 1.0; 
     161                kultakimpale.Texture = Content.Load<Texture2D>("kultakimpale"); 
     162                AddCollisionHandler(kultakimpale, keraa); 
     163                kentta.Objects.Add(kultakimpale); 
    179164 
    180165            } 
     
    234219        { 
    235220            PlatformCharacter hahmo = e.Parameter0 as PlatformCharacter; 
    236             Vector2D voima = e.Parameter1.ToVector2D(); 
    237             hahmo.Walk(e.Time, voima); 
     221            Vector2D voima = e.Parameter1.ToVector2D();                  
     222             
     223           hahmo.Walk(e.Time, voima); 
    238224            return false; 
    239225        } 
     
    267253                if (collision.Other.Tag == "maali") 
    268254                { 
    269                     if (keratytTahdet == 20) 
     255                    if (keratytKultakimpaleet == 20) 
    270256                    { 
    271257                        this.PlaySound("maali"); 
     
    273259                        elamaNaytto.Visible = false; 
    274260 
    275                         MessageDisplay.TextColor = Color.White; 
     261                        MessageDisplay.TextColor = Color.Black; 
    276262                        MessageDisplay.Add("Voitit pelin"); 
    277                         MessageDisplay.Add("Sekunteja kului: " + sekunnit.ToString()); 
    278263                        MessageDisplay.Add("Uusi peli painamalla Enter"); 
    279264                        MessageDisplay.Add("Poistu painamalla ESC"); 
     265 
     266                        Level.BackgroundColor = Color.Yellow; 
    280267                    } 
    281268                } 
     
    283270        } 
    284271 
    285         // Kerää tähden ja antaa pisteen 
     272        // Kerää kultakimpaleen 
    286273        void keraa(Collision collision) 
    287274        { 
     
    292279 
    293280                this.PlaySound("kerays", -0.5, 0.5); 
    294                 ++keratytTahdet; 
    295  
    296                 if (keratytTahdet == 20) 
     281                ++keratytKultakimpaleet; 
     282 
     283                if (keratytKultakimpaleet == 20) 
    297284                { 
    298285                    maali.Visible = true; 
     
    308295                if (collision.Other == pelaaja1) 
    309296                { 
    310                     // pieni värinä törmäyksestä 
    311                     Controls.GameControllers[PlayerIndex.One].Vibrate(0.5, 0.5, 0.0, 0.0, 0.1); 
    312297 
    313298                    elamaLaskuri.Value -= 1; 
     
    331316 
    332317                        MessageDisplay.Add("Pallo puhkesi"); 
    333                         MessageDisplay.Add("Sekunteja kului: " + sekunnit.ToString()); 
    334318                        MessageDisplay.Add("Uusi peli painamalla Enter"); 
    335319                        MessageDisplay.Add("Poistu painamalla ESC"); 
Note: See TracChangeset for help on using the changeset viewer.