Changeset 136 for aleksi_h


Ignore:
Timestamp:
2009-07-23 14:49:33 (10 years ago)
Author:
aledhiet
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • aleksi_h/Pallopeli/Peli.cs

    r122 r136  
    3131        PhysicsObject maali; 
    3232 
     33        Timer sekuntiKello = new Timer(); 
     34 
    3335        int kenttaNro; 
    34  
    3536        int keratytTahdet = 0; 
     37        int sekunnit; 
     38 
    3639        // monesko kenttä on menossa 
    3740        #endregion 
     
    4144        protected override void LoadContent() 
    4245        { 
     46            SetWindowSize(true); 
     47 
    4348            // Asetetaan kentän numero nollaksi, jota kasvatetaan kentän latauksessa (aina siis vähintään 1) 
    4449            kenttaNro = 0; 
     
    4954            elamaLaskuri = new Meter<int>(3, 0, 3); 
    5055 
    51             // luodaan pistelaskunäyttö 
     56            // Asetetaan painovoima 
     57            Gravity = new Vector2D(0, -500); 
     58 
     59            // Zoomataan lähemmäksi 
     60            Camera.ZoomFactor = 2.0; 
     61 
     62            aloitaUusiPeli(); 
     63 
     64        } 
     65 
     66        void aloitaUusiPeli() 
     67        { 
     68            MessageDisplay.Clear(); 
     69 
     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; 
     80 
     81            // Laitetaan peliohje näyttöön 
     82            MessageDisplay.TextColor = Color.White; 
     83            MessageDisplay.Add("Kerää kaikki kultakimpaleet ja mene maaliin"); 
     84            MessageDisplay.Add("Mutta varo kiviä..."); 
     85            MessageDisplay.Add("Peliohjeet F1"); 
     86 
    5287            elamaNaytto = new ValueDisplay(this); 
    5388            elamaNaytto.TextColor = Color.White; 
     
    5792            elamaNaytto.Y = Screen.TopSafe - 50; 
    5893            elamaNaytto.BindTo(elamaLaskuri); 
    59             Add(elamaNaytto);    // lisätään peliin 
    60  
    61             // Asetetaan painovoima 
    62             Gravity = new Vector2D(0, -500); 
    63  
    64             // Zoomataan lähemmäksi 
    65             Camera.ZoomFactor = 2.0; 
    66  
    67             aloitaUusiPeli(); 
    68  
    69         } 
    70  
    71         void aloitaUusiPeli() 
    72         { 
    73             MessageDisplay.Clear(); 
    74  
    75             kenttaNro = 0; 
    76             keratytTahdet = 0; 
    77  
    78             Level = seuraavaKentta(); 
    79  
    80             // Laitetaan peliohje näyttöön 
    81             MessageDisplay.TextColor = Color.White; 
    82             MessageDisplay.Add("Kerää kaikki kultakimpaleet ja mene maaliin"); 
    83             MessageDisplay.Add("Mutta varo kiviä..."); 
    84             MessageDisplay.Add("Peliohjeet F1"); 
    85         } 
     94            Add(elamaNaytto); 
     95 
     96        } 
     97 
     98        void paivita(Timer sender) 
     99        { 
     100            ++sekunnit; 
     101        } 
     102 
    86103        #endregion 
    87104 
     
    125142            lisaaTahdet(kentta); 
    126143 
    127             int vihollistenMaara = 3; 
    128             lisaaViholliset(kentta, vihollistenMaara); 
     144            lisaaViholliset(kentta, 5); 
    129145 
    130146            return kentta; 
     
    256272                        Level.Clear(); 
    257273                        elamaNaytto.Visible = false; 
     274 
    258275                        MessageDisplay.TextColor = Color.White; 
    259276                        MessageDisplay.Add("Voitit pelin"); 
     277                        MessageDisplay.Add("Sekunteja kului: " + sekunnit.ToString()); 
    260278                        MessageDisplay.Add("Uusi peli painamalla Enter"); 
    261279                        MessageDisplay.Add("Poistu painamalla ESC"); 
     
    288306        void tuuppaa(Collision collision) 
    289307        { 
    290             if (collision.Other is PlatformCharacter) 
    291             { 
    292308                if (collision.Other == pelaaja1) 
    293309                { 
     
    295311                    Controls.GameControllers[PlayerIndex.One].Vibrate(0.5, 0.5, 0.0, 0.0, 0.1); 
    296312 
    297                     double x = RandomGen.NextDouble(0.0, 10000.0); 
    298                     double y = RandomGen.NextDouble(0.0, 10000.0); 
    299  
    300313                    elamaLaskuri.Value -= 1; 
     314 
     315                    double x = RandomGen.NextDouble(-10000, 10000); 
     316                    double y = RandomGen.NextDouble(-10000, 10000); 
    301317 
    302318                    Vector2D vektori = new Vector2D(x, y); 
     
    311327                    if (elamaLaskuri.Value == 0) 
    312328                    { 
    313  
     329                        MessageDisplay.Clear(); 
    314330                        Level.Clear(); 
    315                         MessageDisplay.Clear(); 
    316331 
    317332                        MessageDisplay.Add("Pallo puhkesi"); 
     333                        MessageDisplay.Add("Sekunteja kului: " + sekunnit.ToString()); 
    318334                        MessageDisplay.Add("Uusi peli painamalla Enter"); 
    319335                        MessageDisplay.Add("Poistu painamalla ESC"); 
     336 
     337                        IShape ympyra = Shapes.CreateCircle(20.0); 
     338                        PhysicsObject pallo = new PhysicsObject(10.0, ympyra); 
     339                        pallo.Texture = Content.Load<Texture2D>("pallo"); 
     340                        pallo.X = 0; 
     341                        pallo.Y = 0; 
     342                        Level.Objects.Add(pallo); 
     343                        Camera.Follow(pallo); 
    320344                    } 
    321345                } 
     
    325349        #endregion 
    326350    } 
    327 } 
Note: See TracChangeset for help on using the changeset viewer.