Changeset 267 for vertti_r


Ignore:
Timestamp:
2009-08-04 13:54:19 (10 years ago)
Author:
veseruod
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • vertti_r/pong/Peli.cs

    r228 r267  
    2121    public class Peli : PhysicsGame 
    2222    { 
     23        PhysicsObject pallo; 
     24        PhysicsObject maila1; 
     25        PhysicsObject maila2; 
     26        Vector2D nopeusYlos = new Vector2D(0, 200); 
     27        Vector2D nopeusAlas = new Vector2D(0, -200); 
     28 
    2329        protected override void LoadContent() 
    2430        { 
    25             IShape suorakaide = Shapes.CreateRectangle(80.8, 50.8); 
    26             PhysicsObject pallo = new PhysicsObject(10.0, suorakaide); 
    27             Level.Objects.Add(pallo); 
    28             pallo.X = -200.0; 
    29             pallo.Y = -200.0; 
     31            Level = LuoKentta(); 
     32            AsetaOhjaimet(); 
     33            AloitaPeli(); 
     34        } 
     35 
     36        Level LuoKentta() 
     37        { 
     38            Level kentta = new Level(this); 
     39            kentta.BackgroundColor = Color.Black; 
     40            IShape ympyra = Shapes.CreateCircle(20.0); 
     41            pallo = new PhysicsObject(10.0, ympyra); 
     42            pallo.X = 200.0; 
     43            pallo.Y = 30.0; 
     44            pallo.Restitution = 1.0; 
     45            kentta.Objects.Add(pallo); 
     46 
     47            maila1 = LuoMaila(kentta.Left + 20.0, 0.0, kentta); 
     48            maila2 = LuoMaila(kentta.Right - 20.0, 0.0, kentta); 
     49 
     50            kentta.CreateBorder(1.0, false); 
     51 
     52            return kentta; 
     53        } 
     54 
     55        void AloitaPeli() 
     56        { 
    3057            Vector2D impulssi = new Vector2D(2000.0, 0.0); 
    3158            pallo.Hit(impulssi); 
    32             Level.CreateBorder(1.0, true); 
    33             pallo.Restitution = 3.0; 
    34             Level.BackgroundColor = Color.Black; 
    3559        } 
    36             Level LuoKentta() 
     60 
     61        PhysicsObject LuoMaila(double x, double y, Level kentta) 
    3762        { 
    38             Level kentta = new Level( this ); 
    39             kentta.BackgroundColor = Color.Black; 
     63            IShape suorakulmio = Shapes.CreateRectangle(20.0, 100.0); 
     64            PhysicsObject maila = PhysicsObject.CreateStaticObject(suorakulmio); 
     65            maila.X = x; 
     66            maila.Y = y; 
     67            maila.Restitution = 1.0; 
     68            kentta.Objects.Add(maila); 
     69            return maila; 
     70        } 
    4071 
    41             return kentta; 
     72        void AsetaOhjaimet() 
     73        { 
     74            Controls.Listen(Keys.A, ButtonPosition.Pressed, LiikutaMailaaYlos, "Pelaaja 1: Liikuta mailaa ylös", maila1 ,nopeusYlos); 
     75            Controls.Listen(Keys.A, ButtonPosition.Released, PysaytaMaila, null, maila1 vector2D); 
     76            Controls.Listen(Keys.Z, ButtonPosition.Pressed, LiikutaMailaaAlas, "Pelaaja 1: Liikuta mailaa alas", maila1 ,nopeusAlas); 
     77            Controls.Listen(Keys.Z, ButtonPosition.Released, PysaytaMaila, null, maila1); 
    4278 
     79            Controls.Listen(Keys.Up, ButtonPosition.Pressed, LiikutaMailaaYlos, "Pelaaja 2: Liikuta mailaa ylös", maila2 ,nopeusYlos); 
     80            Controls.Listen(Keys.Up, ButtonPosition.Released, PysaytaMaila, null, maila2); 
     81            Controls.Listen(Keys.Down, ButtonPosition.Pressed, LiikutaMailaaAlas, "Pelaaja 2: Liikuta mailaa alas", maila2 ,nopeusAlas); 
     82            Controls.Listen(Keys.Down, ButtonPosition.Released, PysaytaMaila, null, maila2); 
     83        } 
     84 
     85 
     86        bool LiikutaMailaaYlos(ControlEvent e) 
     87        { 
     88            PhysicsObject maila = e.Parameter0.ToPhysicsObject(); 
     89            if (maila.Y < Level.Top) ; 
     90            { 
     91 
     92                maila.Velocity = Vector2D.Zero; 
     93                return false; 
     94 
     95            } 
     96            Vector2D nopeus = new Vector2D(0, 200); 
     97            maila.Velocity = nopeus; 
     98            return false; 
     99        } 
     100        bool PysaytaMaila(ControlEvent e) 
     101        { 
     102 
     103            PhysicsObject maila = e.Parameter0.ToPhysicsObject(); 
     104            maila.Velocity = Vector2D.Zero; 
     105            return false; 
     106        } 
     107 
     108        bool LiikutaMailaaAlas(ControlEvent e) 
     109        { 
     110            PhysicsObject maila = e.Parameter0.ToPhysicsObject(); 
     111            if (maila.Y < Level.Top); 
     112            { 
     113 
     114                Vector2D nopeus = new Vector2D(0, -200); 
     115                maila.Velocity = nopeus; 
     116            } 
     117            return false; 
    43118        } 
    44119    } 
    45120} 
     121 
     122 
     123 
     124 
Note: See TracChangeset for help on using the changeset viewer.