Changeset 61 for aki_m/pong/Peli.cs


Ignore:
Timestamp:
2009-07-21 11:35:52 (10 years ago)
Author:
akmimiko
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • aki_m/pong/Peli.cs

    r39 r61  
    2121    public class Peli : PhysicsGame 
    2222    { 
    23         PhysicsObject pallo; 
     23        // PhysicsObject pallo; 
    2424        PhysicsObject maila1; 
    2525        PhysicsObject maila2; 
     26      
     27 
    2628        protected override void LoadContent() 
    2729        { 
    2830            Level = LuoKentta(); 
    2931            AsetaOhjaimet(); 
    30             AloitaPeli();            
    31             Level = LuoKentta();             
     32            LisaaLaskurit(); 
     33            AloitaPeli(); 
    3234        } 
    3335         
     36 
     37        void AloitaPeli() 
     38        { 
     39        } 
     40 
    3441        Level LuoKentta() 
    3542        { 
     
    3845            Level kentta = new Level(this); 
    3946            kentta.BackgroundColor = Color.Black; 
     47            kentta.CreateBorder(1.0, false); 
     48 
     49 
    4050            IShape ympyra = Shapes.CreateRectangle(50.8, 50.8); 
    4151            PhysicsObject pallo = new PhysicsObject(10.0, ympyra); 
    42  
    4352            pallo.Hit(impulssi); 
    44  
    45             IShape suorakulmio = Shapes.CreateRectangle(20.0, 100.0); 
    46             PhysicsObject maila = PhysicsObject.CreateStaticObject(suorakulmio); 
    47             maila.X = kentta.Left + 20.0; 
    48             maila.Y = 0.0; 
    49             maila.Restitution = 1.0; 
    50             kentta.Objects.Add(maila); 
    51             maila.Color = Color.Black; 
     53            pallo.Restitution = 5.0; 
     54            kentta.BackgroundColor = Color.Red; 
     55            pallo.Color = Color.Black; 
    5256            kentta.Objects.Add(pallo); 
    5357 
    5458 
    55             kentta.CreateBorder(1.0, false); 
    56             pallo.Restitution = 5.0; 
    57             kentta.BackgroundColor = Color.Red; 
    58             pallo.Color = Color.Black; 
     59            maila1 = LuoMaila(kentta.Left + 20.0, 0.0, kentta); 
     60            maila2 = LuoMaila(kentta.Right - 20.0, 0.0, kentta); 
     61            maila1.Color = Color.Black; 
     62            maila2.Color = Color.Black; 
     63            return kentta; 
     64        } 
    5965 
    60             IShape suorakulmio2 = Shapes.CreateRectangle(20.0, 100.0); 
    61             PhysicsObject maila2 = PhysicsObject.CreateStaticObject(suorakulmio2); 
    62             maila2.X = kentta.Right - 20.0; 
    63             maila2.Y = 0.0; 
    64             maila2.Restitution = 1.0; 
    65             kentta.Objects.Add(maila2); 
    66             maila2.Color = Color.Black; 
     66        void LisaaLaskurit() 
     67        {  
     68        } 
    6769 
    68             return kentta; 
    69          
     70        PhysicsObject LuoMaila(double x, double y, Level level) 
     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            level.Objects.Add(maila); 
     78            return maila; 
     79        } 
    7080 
    71         } 
    72         bool LiikutaMailaaYlos( ControlEvent e ) 
     81 
     82        bool LiikutaMailaaYlos(ControlEvent e) 
    7383        { 
    7484            PhysicsObject maila = e.Parameter0.ToPhysicsObject(); 
    75             maila.Y += 10.0; 
     85            double sekuntejaKulunut = e.Time.ElapsedGameTime.TotalSeconds; 
     86            if (maila.Y < Level.Top) 
     87            { 
     88                maila.Y += 10.0; 
     89            } 
    7690            return false; 
    7791 
    78             
     92 
     93 
    7994        } 
    8095 
    8196        void AsetaOhjaimet() 
    82         { Controls.Listen( Keys.A, ButtonPosition.Down, LiikutaMailaaYlos, "Pelaaja 1: Liikuta mailaa ylös", maila1 ); 
    83             Controls.Listen( Keys.Z, ButtonPosition.Down, LiikutaMailaaAlas, "Pelaaja 1: Liikuta mailaa alas", maila1 ); 
     97        { 
     98            Controls.Listen(Keys.A, ButtonPosition.Down, LiikutaMailaaYlos, "Pelaaja 1: Liikuta mailaa ylös", maila1); 
     99            Controls.Listen(Keys.Z, ButtonPosition.Down, LiikutaMailaaAlas, "Pelaaja 1: Liikuta mailaa alas", maila1); 
    84100 
    85             Controls.Listen( Keys.Up, ButtonPosition.Down, LiikutaMailaaYlos, "Pelaaja 2: Liikuta mailaa ylös", maila2 ); 
    86             Controls.Listen( Keys.Down, ButtonPosition.Down, LiikutaMailaaAlas, "Pelaaja 2: Liikuta mailaa alas", maila2 ); 
     101            Controls.Listen(Keys.Up, ButtonPosition.Down, LiikutaMailaaYlos, "Pelaaja 2: Liikuta mailaa ylös", maila2); 
     102 
     103            Controls.Listen(Keys.Down, ButtonPosition.Down, LiikutaMailaaAlas, "Pelaaja 2: Liikuta mailaa alas", maila2); 
     104             
    87105        } 
    88106 
    89             Controls.Listen(Keys.Up, ButtonPosition.Down, LiikutaMailaaYlos, "Liikuta mailaa ylös", maila1); 
    90              
    91107 
    92         } 
     108 
     109         
     110 
    93111 
    94112        bool LiikutaMailaaAlas(ControlEvent e) 
    95113        { 
    96114            PhysicsObject maila = e.Parameter0.ToPhysicsObject(); 
    97             maila.Y += -10.0; 
     115 
     116            if (maila.Y > Level.Bottom) 
     117            { 
     118                maila.Y -= 10.0; 
     119            } 
    98120            return false; 
    99121 
    100             {  
    101         }} 
     122             
     123         
     124 
     125 
    102126        } 
    103      
    104      
     127         
     128         
     129                 
     130        } 
    105131 
     132    } 
     133 
     134 
     135 
     136 
     137 
     138 
     139 
Note: See TracChangeset for help on using the changeset viewer.