Changeset 48 for joni_j/FysiikkaPeli1


Ignore:
Timestamp:
2009-07-21 11:31:07 (13 years ago)
Author:
jomialja
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • joni_j/FysiikkaPeli1/Peli.cs

    r32 r48  
    2222    { 
    2323        PhysicsObject pallo; 
     24        PhysicsObject maila1; 
     25        PhysicsObject maila2; 
    2426 
    2527        protected override void LoadContent() 
    2628        { 
    2729 
    28             
     30  
    2931 
    3032            Level = LuoKentta(); 
    31  
     33            AsetaOhjaimet(); 
    3234            AloitaPeli(); 
     35   
    3336 
    3437        } 
     
    3841        {   // LuoKentta-aliohjelman sisältö... 
    3942            Level kentta = new Level( this ); 
    40             kentta.BackgroundColor = Color.Purple; 
     43            kentta.BackgroundColor = Color.Black; 
    4144             
    4245            IShape ympyra = Shapes.CreateCircle( 20.0 ); 
     
    4952 
    5053 
    51             IShape suorakulmio = Shapes.CreateRectangle( 20.0, 100.0 ); 
    52             PhysicsObject maila = PhysicsObject.CreateStaticObject( suorakulmio ); 
    53             maila.X = kentta.Left + 20.0; 
    54             maila.Y = 0.0; 
    55             maila.Restitution = 1.0; 
    56             kentta.Objects.Add( maila ); 
     54 
     55 
     56 
     57            maila1 = LuoMaila(kentta.Left + 20.0, 0.0, kentta); 
     58            maila2 = LuoMaila(kentta.Right - 20.0, 0.0, kentta); 
     59 
    5760 
    5861            kentta.CreateBorder( 1.0, false ); 
    5962 
    6063            return kentta; 
     64             
     65        
     66 
     67 
    6168        } 
    6269 
    63  
     70         
    6471     void AloitaPeli() 
    6572     { 
     
    6774         pallo.Hit(impulssi); 
    6875     } 
     76       
     77  
     78        PhysicsObject LuoMaila( double x, double y, Level kentta )  
     79         {  
     80             IShape suorakulmio = Shapes.CreateRectangle( 20.0, 100.0 );  
     81             PhysicsObject maila = PhysicsObject.CreateStaticObject( suorakulmio );  
     82             maila.X = x;  
     83             maila.Y = y;  
     84             maila.Restitution = 1.0;  
     85             kentta.Objects.Add( maila );  
     86             return maila;  
     87         } 
     88 
     89        void AsetaOhjaimet() 
     90        { 
     91            Controls.Listen(Keys.W, ButtonPosition.Down, LiikutaMailaaYlos, "Pelaaja 1: Liikuta mailaa ylös", maila1); 
     92            Controls.Listen(Keys.S, ButtonPosition.Down, LiikutaMailaaAlas, "Pelaaja 1: Liikuta mailaa alas", maila1); 
     93 
     94            Controls.Listen(Keys.Up, ButtonPosition.Down, LiikutaMailaaYlos, "Pelaaja 2: Liikuta mailaa ylös", maila2); 
     95            Controls.Listen(Keys.Down, ButtonPosition.Down, LiikutaMailaaAlas, "Pelaaja 2: Liikuta mailaa alas", maila2); 
    6996 
    7097             
    7198        } 
    72     }   
    73       
    74         
     99   
     100            bool LiikutaMailaaYlos( ControlEvent e ) 
     101        { 
     102            PhysicsObject maila = e.Parameter0.ToPhysicsObject(); 
     103            if (maila.Y < Level.Top) 
     104            maila.Y += 10.0; 
     105            return false; 
     106        } 
     107           
     108        bool LiikutaMailaaAlas( ControlEvent e ) 
     109        { 
     110            PhysicsObject maila = e.Parameter0.ToPhysicsObject(); 
     111            double nopeus = 200.0; 
     112            double sekuntejaKulunut = e.Time.ElapsedGameTime.TotalSeconds; 
    75113 
    76            
     114            maila.Y += nopeus * sekuntejaKulunut; 
    77115 
    78             
     116            return false; 
     117        } 
    79118 
    80119 
     120         
    81121 
    82                  
     122 
     123             
     124        } 
     125}    
Note: See TracChangeset for help on using the changeset viewer.