Changeset 35


Ignore:
Timestamp:
2009-07-20 14:49:23 (10 years ago)
Author:
elalylon
Message:

Tein pong peliin kaksi mailaa ja sain sen toimimaan.

Location:
elias_y
Files:
14 added
1 edited

Legend:

Unmodified
Added
Removed
  • elias_y/Pong/Peli.cs

    r22 r35  
    2121    public class Peli : PhysicsGame 
    2222    { 
     23        PhysicsObject pallo; 
     24        PhysicsObject maila1; 
     25        PhysicsObject maila2; 
     26 
    2327        protected override void LoadContent() 
    2428        { 
    25             IShape ympyra = Shapes.CreateRectangle(50.8,50.8);     //IShape ympyra = Shapes.CreateCircle(20.0); 
    26             PhysicsObject pallo = new PhysicsObject(10.0, ympyra);  //PhysicsObject pallo = new PhysicsObject(10.0, ympyra); 
    27             Level.Objects.Add(pallo); 
    28             Vector2D impulssi = new Vector2D(5000.0, 0.0); 
    29             pallo.Hit(impulssi); 
     29            Level = LuoKentta(); 
     30            AloitaPeli(); 
     31 
     32            Level = LuoKentta(); 
     33            AsetaOhjaimet(); 
     34            AloitaPeli(); 
     35 
     36        } 
     37 
     38 
     39        Level LuoKentta() 
     40        { 
     41            Level kentta = new Level(this); 
     42            kentta.BackgroundColor = Color.Black; 
     43 
     44            IShape ympyra = Shapes.CreateCircle(20.0); 
     45            pallo = new PhysicsObject(10.0, ympyra); 
    3046            pallo.X = -200.0; 
    3147            pallo.Y = 0.0; 
    32             Level.CreateBorder(1.0, false); 
    3348            pallo.Restitution = 1.0; 
    34             Level.BackgroundColor = Color.Black; 
     49            kentta.Objects.Add(pallo); 
     50 
     51            kentta.CreateBorder(1.0, false); 
     52 
     53            maila1 = LuoMaila(kentta.Left + 20.0, 0.0, kentta); 
     54            maila2 = LuoMaila(kentta.Right - 20.0, 0.0, kentta); 
     55 
     56            return kentta; 
     57        } 
     58 
     59 
     60        void AloitaPeli() 
     61        { 
     62            Vector2D impulssi = new Vector2D(6000.0, 0.0); 
     63            pallo.Hit(impulssi); 
     64        } 
    3565             
     66 
     67        PhysicsObject LuoMaila(double x, double y, Level kentta) 
     68        { 
     69 
     70 
     71 
     72            IShape suorakulmio = Shapes.CreateRectangle(20.0, 100.0); 
     73            PhysicsObject maila = PhysicsObject.CreateStaticObject(suorakulmio); 
     74            maila.X = x; 
     75            maila.Y = y; 
     76            maila.Restitution = 1.0; 
     77            kentta.Objects.Add(maila); 
     78            return maila; 
    3679        } 
     80 
     81 
     82        void AsetaOhjaimet() 
     83        { 
     84            Controls.Listen(Keys.W, ButtonPosition.Down, LiikutaMailaaYlos, "Pelaaja 1: Liikuta mailaa ylös", maila1); 
     85            Controls.Listen(Keys.S, ButtonPosition.Down, LiikutaMailaaAlas, "Pelaaja 1: Liikuta mailaa alas", maila1); 
     86 
     87            Controls.Listen(Keys.Up, ButtonPosition.Down, LiikutaMailaaYlos, "Pelaaja 2: Liikuta mailaa ylös", maila2); 
     88            Controls.Listen(Keys.Down, ButtonPosition.Down, LiikutaMailaaAlas, "Pelaaja 2: Liikuta mailaa alas", maila2); 
     89 
     90        } 
     91 
     92 
     93        bool LiikutaMailaaYlos(ControlEvent e) 
     94        { 
     95            PhysicsObject maila = e.Parameter0.ToPhysicsObject(); 
     96            maila.Y += 10.0; 
     97            return false; 
     98        } 
     99 
     100 
     101        bool LiikutaMailaaAlas(ControlEvent e) 
     102        { 
     103            PhysicsObject maila = e.Parameter0.ToPhysicsObject(); 
     104            maila.Y += -10.0; 
     105            return false; 
     106        } 
     107 
    37108    } 
    38109} 
Note: See TracChangeset for help on using the changeset viewer.