Changeset 28 for aki_s/Pong


Ignore:
Timestamp:
2009-07-20 14:48:09 (14 years ago)
Author:
akjuhesa
Message:

Pongi liikkuvilla mailoilla, tosin pallo pysähtyy jos menee mailalla läpi

File:
1 edited

Legend:

Unmodified
Added
Removed
  • aki_s/Pong/Peli.cs

    r19 r28  
    2121    public class Peli : PhysicsGame 
    2222    { 
     23        PhysicsObject pallo; 
     24        PhysicsObject maila1; 
     25        PhysicsObject maila2; 
     26 
     27        bool LiikutaMailaaYlos(ControlEvent e) 
     28        { 
     29            PhysicsObject maila = e.Parameter0.ToPhysicsObject(); 
     30            maila.Y += 100.0; 
     31            if (maila.Y < Level.Top) 
     32            { 
     33                maila.Y += 10.0; 
     34            } 
     35 
     36            return false; 
     37        } 
     38        bool LiikutaMailaaAlas(ControlEvent e) 
     39        { 
     40            PhysicsObject maila = e.Parameter0.ToPhysicsObject(); 
     41            maila.Y += -100.0; 
     42            if (maila.Y < Level.Top) 
     43            { 
     44                maila.Y += 10.0; 
     45            } 
     46 
     47            return false; 
     48        } 
     49 
     50 
    2351        protected override void LoadContent() 
    2452        { 
    25             IShape ympyra = Shapes.CreateRectangle(40.0, 30.0); 
    26             IShape nelio = Shapes.CreateRectangle(40.0, 40.0); 
    27             //IShape ympyra = Shapes.CreateCircle(50.8);  //(40.0); 
    28             PhysicsObject pallo = new PhysicsObject(20.0, ympyra);//(10.0, ympyra); 
    29             PhysicsObject nelio = new PhysicsObject(20.0, nelio); 
    30             Level.BackgroundColor = Color.Gold; 
    31              
    32             Level.Objects.Add(pallo); 
    33             Level.CreateBorder( 1.0, false); 
    34             pallo.Restitution = 1.0; 
    35              
    36             nelio.X = 200.0; 
    37             nelio.Y = 0.0; 
     53            Level = LuoKentta(); 
     54            AsetaOhjaimet(); 
     55 
     56            IShape ympyra = Shapes.CreateCircle(20.0); 
     57            PhysicsObject pallo = new PhysicsObject(10.0, ympyra); 
     58            AloitaPeli(); 
     59 
     60 
     61        } 
     62 
     63        Level LuoKentta() 
     64        { 
     65 
     66            Level kentta = new Level(this); 
     67            kentta.BackgroundColor = Color.Black; 
     68 
     69            IShape ympyra = Shapes.CreateCircle(20.0); 
     70            pallo = new PhysicsObject(10.0, ympyra); 
    3871            pallo.X = -200.0; 
    3972            pallo.Y = 0.0; 
     73            pallo.Restitution = 5.0; 
     74            kentta.Objects.Add(pallo); 
    4075 
    41             Vector2D impulssinelio = new Vector2D(2900.0, 60000.0); 
    42             nelio.Hit(impulssinelio); 
    43             Vector2D impulssipallo = new Vector2D(60000.0, 2900.0); 
    44             pallo.Hit(impulssipallo); 
     76          maila1 =  LuoMaila(kentta.Left + 20.0, 0.0, kentta); 
     77          maila2 =  LuoMaila(kentta.Right - 20.0, 0.0, kentta); 
     78 
     79 
     80            kentta.CreateBorder(1.0, false); 
     81 
     82            return kentta; 
     83        } 
     84        void AloitaPeli() 
     85        { 
     86            Vector2D impulssi = new Vector2D(20000.0, 0.0); 
     87            pallo.Hit(impulssi); 
     88 
    4589 
    4690        } 
     91        PhysicsObject LuoMaila(double x, double y, Level kentta) 
     92        { 
     93            IShape suorakulmio = Shapes.CreateRectangle(20.0, 100.0); 
     94            PhysicsObject maila = PhysicsObject.CreateStaticObject(suorakulmio); 
     95            maila.X = x; 
     96            maila.Y = y; 
     97            maila.Restitution = 1.0; 
     98            kentta.Objects.Add(maila); 
     99            return maila; 
     100 
     101        } 
     102        void AsetaOhjaimet() 
     103        { 
     104            Controls.Listen(Keys.A, ButtonPosition.Down, LiikutaMailaaYlos, "Pelaaja 1: Liikuta mailaa ylös", maila1); 
     105            Controls.Listen(Keys.Z, ButtonPosition.Down, LiikutaMailaaAlas, "Pelaaja 1: Liikuta mailaa alas", maila1); 
     106 
     107            Controls.Listen(Keys.Up, ButtonPosition.Down, LiikutaMailaaYlos, "Pelaaja 2: Liikuta mailaa ylös", maila2); 
     108            Controls.Listen(Keys.Down, ButtonPosition.Down, LiikutaMailaaAlas, "Pelaaja 2: Liikuta mailaa alas", maila2); 
     109 
     110        } 
     111 
    47112    } 
    48113} 
Note: See TracChangeset for help on using the changeset viewer.