Changeset 221 for arho_m


Ignore:
Timestamp:
2009-08-03 14:45:18 (10 years ago)
Author:
armahlam
Message:

mailat lisätty, ohjaimet maila ykköselle

File:
1 edited

Legend:

Unmodified
Added
Removed
  • arho_m/Pong/Peli.cs

    r197 r221  
    2121    public class Peli : PhysicsGame 
    2222    { 
     23        PhysicsObject maila1, maila2, pallo; 
     24 
    2325        protected override void LoadContent() 
    2426        { 
    25             IShape ymp = Shapes.CreateCircle(20.0); 
    26             IShape laatikko = Shapes.CreateRectangle(50.0, 260.0); 
    27             PhysicsObject pallo = new PhysicsObject(15.0, laatikko); 
    28             pallo.Restitution = 0.5; 
    29             pallo.Color = Color.Red; 
     27            Level.CreateBorder(1.0, false); 
     28            Level.BackgroundColor = Color.Black; 
     29            LuoMailat(20.0, 150.0, 1000.0); 
     30            LuoPallo(20.0); 
     31            AsetaOhjaimet(); 
     32            AddCollisionHandler(pallo, KasittelePallonColl); 
     33        } 
    3034 
     35        void LuoPallo(double koko) 
     36        { 
     37            IShape s_pallo = Shapes.CreateCircle(koko); 
     38            pallo = new PhysicsObject(15.0, s_pallo); 
    3139            Level.Objects.Add(pallo); 
    32             Level.CreateBorder(0.5, true); 
     40            Vector2D v = new Vector2D( 
     41                RandomGen.NextDouble(-50000.0, 50000.0),  
     42                RandomGen.NextDouble(-1000.0, -1000.0)); 
     43            pallo.Hit(v); 
     44        } 
    3345 
    34             Vector2D vektori = new Vector2D(12000.0, 65000.0); 
    35             pallo.Hit(vektori); 
     46        void LuoMailat( double leveys, double korkeus, double dist ) 
     47        { 
     48            IShape shp = Shapes.CreateRectangle(leveys, korkeus); 
     49 
     50            maila1 = PhysicsObject.CreateStaticObject(shp); 
     51            maila1.Color = Color.White; 
     52            maila1.X = -dist / 2.0; 
     53            maila1.Y = 0; 
     54            maila1.Restitution = 1.0; 
     55 
     56            maila2 = PhysicsObject.CreateStaticObject(shp); 
     57            maila2.Color = Color.White; 
     58            maila2.X = dist / 2.0; 
     59            maila2.Y = Level.Top; 
     60            maila2.Velocity = new Vector2D(0, Level.Bottom-Level.Top/10*-1); 
     61            maila2.Restitution = 1.0; 
     62 
     63            Timer tm = new Timer(); 
     64            tm.Interval = 1; 
     65            tm.Trigger += new Timer.TriggerHandler(LiikutaMaila2); 
     66            AddTimer(tm); 
     67 
     68            Level.Objects.Add(maila1); 
     69            Level.Objects.Add(maila2); 
     70        } 
     71 
     72        bool LiikutaYlos(ControlEvent e) 
     73        { 
     74            maila1.Y += 10; 
     75            return false; 
     76        } 
     77 
     78        bool LiikutaAlas(ControlEvent e) 
     79        { 
     80            maila1.Y -= 10; 
     81            return false; 
     82        } 
     83 
     84        void AsetaOhjaimet() 
     85        { 
     86            Controls.Listen(Keys.Up, ButtonPosition.Down, LiikutaYlos, null, null); 
     87            Controls.Listen(Keys.Down, ButtonPosition.Down, LiikutaAlas, null, null); 
     88        } 
     89 
     90        void KasittelePallonColl(Collision collision) 
     91        { 
     92            PhysicsObject pallo = collision.Obj; 
     93            PhysicsObject kohde = collision.Other; 
     94            if (kohde == Level.RightBorder) 
     95            { 
     96                // piste maila1kköselle 
     97            } 
     98            if (kohde == Level.LeftBorder) 
     99            { 
     100                // piste kakkoselle 
     101            } 
     102        } 
     103 
     104        void LiikutaMaila2( Timer sender ) 
     105        { 
    36106        } 
    37107    } 
Note: See TracChangeset for help on using the changeset viewer.