Changeset 53


Ignore:
Timestamp:
2009-07-21 11:33:27 (12 years ago)
Author:
alpitkan
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • aleksi_p/pong/Peli.cs

    r34 r53  
    2121    public class Peli : PhysicsGame 
    2222    { 
     23        PhysicsObject pallo; 
     24        PhysicsObject maila1; 
     25        PhysicsObject maila2; 
    2326        protected override void LoadContent() 
    2427        { 
    2528            Level = Luokenttä(); 
    26         }  
    27          
     29            AsetaOhjaimet(); 
     30            aloitapeli(); 
     31        } 
     32 
    2833        Level Luokenttä() 
    2934        { 
    30            Level kentta = new Level( this ); 
    31            kentta.BackgroundColor = Color.Black; 
    32            
    33            IShape ympyra = Shapes.CreateCircle(20.0); 
    34            PhysicsObject pallo = new PhysicsObject(10.0, ympyra); 
    35            pallo.X = -200.0; 
    36            pallo.Y = 0.0; 
    37            pallo.Restitution = 1.0; 
    38            kentta.Objects.Add(pallo); 
    39             
    40            IShape suorakulmio = Shapes.CreateRectangle(20.0, 100.0); 
    41            PhysicsObject maila = PhysicsObject.CreateStaticObject(suorakulmio); 
    42            maila.X = kentta.Left + 20.0; 
    43            maila.Y = 0.0; 
    44            maila.Restitution = 1.0; 
    45            kentta.Objects.Add(maila); 
     35            Level kentta = new Level(this); 
     36            kentta.BackgroundColor = Color.Black; 
    4637 
    47            kentta.CreateBorder(1.0, false); 
     38            IShape ympyra = Shapes.CreateCircle(20.0); 
     39            pallo = new PhysicsObject(10.0, ympyra); 
     40            pallo.X = -200.0; 
     41            pallo.Y = 0.0; 
     42            pallo.Restitution = 1.0; 
     43            kentta.Objects.Add(pallo); 
    4844 
    49            return kentta; 
    50         }   
    51      
    52      } 
     45 
     46            maila1 = LuoMaila(kentta.Left + 20.0, 0.0, kentta); 
     47            maila2 = LuoMaila(kentta.Right - 20.0, 0.0, kentta); 
     48 
     49            kentta.CreateBorder(1.0, false); 
     50 
     51            return kentta; 
     52        } 
     53        bool LiikutaMailaaAlas(ControlEvent e) 
     54        { 
     55            PhysicsObject maila = e.Parameter0.ToPhysicsObject(); 
     56            maila.Y += -10.0; 
     57            return false; 
     58        } 
     59         
     60        bool LiikutaMailaaYlos(ControlEvent e) 
     61        { 
     62            PhysicsObject maila = e.Parameter0.ToPhysicsObject(); 
     63            if (maila.Y < Level.Top) 
     64            { 
     65                maila.Y += 10.0; 
     66            } 
     67            return false; 
     68        } 
     69 
     70        void aloitapeli() 
     71        { 
     72            Vector2D impulssi = new Vector2D(5000.0, 0.0); 
     73            pallo.Hit(impulssi); 
     74        } 
     75 
     76        PhysicsObject LuoMaila(double x, double y, Level kentta) 
     77        { 
     78            IShape suorakulmio = Shapes.CreateRectangle(20.0, 100.0); 
     79            PhysicsObject maila = PhysicsObject.CreateStaticObject(suorakulmio); 
     80            maila.X = x; 
     81            maila.Y = y; 
     82            maila.Restitution = 1.0; 
     83            kentta.Objects.Add(maila); 
     84            return maila; 
     85        } 
     86        void AsetaOhjaimet() 
     87        { 
     88            Controls.Listen(Keys.A, ButtonPosition.Down, LiikutaMailaaYlos, "Pelaaja 1: Liikuta mailaa ylös", maila1); 
     89            Controls.Listen(Keys.Z, ButtonPosition.Down, LiikutaMailaaAlas, "Pelaaja 1: Liikuta mailaa alas", maila1); 
     90 
     91            Controls.Listen(Keys.Up, ButtonPosition.Down, LiikutaMailaaYlos, "Pelaaja 2: Liikuta mailaa ylös", maila2); 
     92            Controls.Listen(Keys.Down, ButtonPosition.Down, LiikutaMailaaAlas, "Pelaaja 2: Liikuta mailaa alas", maila2);  
     93        } 
     94 
     95 
     96    } 
    5397} 
     98 
Note: See TracChangeset for help on using the changeset viewer.