Changeset 225 for jaana_j


Ignore:
Timestamp:
2009-08-03 14:46:52 (12 years ago)
Author:
jaaannja
Message:

mailat liikkuu

File:
1 edited

Legend:

Unmodified
Added
Removed
  • jaana_j/pong/Peli.cs

    r209 r225  
    2121    public class Peli : PhysicsGame 
    2222    { 
     23         PhysicsObject pallo; 
     24         PhysicsObject maila1; 
     25         PhysicsObject maila2; 
     26 
    2327        protected override void LoadContent() 
    2428        { 
     29            Level = LuoKentta(); 
     30            AsetaOhjaimet(); 
     31            AloitaPeli(); 
     32        } 
     33 
     34         
     35            Level LuoKentta() 
     36        { 
     37            Level kentta = new Level(this); 
     38            kentta.BackgroundColor = Color.Green; 
     39 
    2540            IShape ympyra = Shapes.CreateCircle(20.0); 
    26             PhysicsObject pallo = new PhysicsObject(10.0, ympyra); 
    27             Level.Objects.Add(pallo); 
     41            pallo = new PhysicsObject(10.0, ympyra); 
    2842            pallo.X = -200.0; 
    2943            pallo.Y = 0.0; 
    30            
     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); 
    3149 
    32             pallo.Restitution = 1.0; 
    33             Level.CreateBorder(1.0, false); 
    34             Level.BackgroundColor = Color.Green; 
    35              
    36             Vector2D impulssi = new Vector2D(5000.0, 0.0); 
     50 
     51 
     52            kentta.CreateBorder(1.0, false); 
     53 
     54            return kentta; 
     55        } 
     56 
     57 
     58        void AloitaPeli() 
     59{ 
     60        
     61            Vector2D impulssi = new Vector2D(3000.0, 0.0); 
    3762            pallo.Hit(impulssi); 
    3863        } 
    39             Level LuoKentta() 
     64 
     65 
     66 
     67        PhysicsObject LuoMaila(double x, double y, Level kentta) 
     68        { 
     69            IShape suorakulmio = Shapes.CreateRectangle(20.0, 100.0); 
     70            PhysicsObject maila = PhysicsObject.CreateStaticObject(suorakulmio); 
     71            maila.X = x; 
     72            maila.Y = y; 
     73            maila.Restitution = 1.0; 
     74            kentta.Objects.Add(maila); 
     75            return maila; 
     76        } 
     77          
     78 
     79        void AsetaOhjaimet() 
     80        { 
     81            Controls.Listen(Keys.A, ButtonPosition.Pressed, LiikutaMailaaYlos, "Pelaaja 1: Liikuta mailaa ylös", maila1); 
     82            Controls.Listen(Keys.A, ButtonPosition.Released, PysaytaMaila, null, maila1); 
     83            Controls.Listen(Keys.Z, ButtonPosition.Pressed, LiikutaMailaaAlas, "Pelaaja 1: Liikuta mailaa alas", maila1); 
     84            Controls.Listen(Keys.Z, ButtonPosition.Released, PysaytaMaila, null, maila1); 
     85 
     86            Controls.Listen(Keys.Up, ButtonPosition.Pressed, LiikutaMailaaYlos, "Pelaaja 2: Liikuta mailaa ylös", maila2); 
     87            Controls.Listen(Keys.Up, ButtonPosition.Released, PysaytaMaila, null, maila2); 
     88            Controls.Listen(Keys.Down, ButtonPosition.Pressed, LiikutaMailaaAlas, "Pelaaja 2: Liikuta mailaa alas", maila2); 
     89            Controls.Listen(Keys.Down, ButtonPosition.Released, PysaytaMaila, null, maila2); 
     90 
     91        } 
     92 
     93         bool LiikutaMailaaYlos( ControlEvent e ) 
     94        { 
     95            PhysicsObject maila = e.Parameter0.ToPhysicsObject(); 
     96            if ( maila.Y >= Level.Top ) 
    4097            { 
    41             Level kentta = new Level( this ); 
    42             kentta.BackgroundColor = Color.Black; 
    43                 return kentta; 
     98                maila.Velocity = Vector2D.Zero; 
     99                return false; 
    44100            } 
    45             protected override void LoadContent() 
    46             { 
    47                 Level = LuoKentta(); 
     101 
     102            Vector2D nopeus = new Vector2D( 0, 200 ); 
     103            maila.Velocity = nopeus; 
     104            return false; 
     105        } 
     106 
     107         
     108            
     109    } 
     110  
    48111            } 
     112 
     113            Vector2D nopeus = new Vector2D( 0, 200 ); 
     114            maila.Velocity = nopeus; 
     115 
     116            } 
     117 
     118 
     119            return false; 
     120        } 
     121 
     122 
     123         bool PysaytaMaila( ControlEvent e ) 
     124        { 
     125            PhysicsObject maila = e.Parameter0.ToPhysicsObject(); 
     126            maila.Velocity = Vector2D.Zero; 
     127            return false; 
     128 
     129        } 
     130         bool LiikutaMailaaAlas(ControlEvent e) 
     131         { 
     132             PhysicsObject maila = e.Parameter0.ToPhysicsObject(); 
     133             Vector2D nopeus = new Vector2D(0, -200); 
     134             maila.Velocity = nopeus; 
     135             return false; 
     136         } 
     137 
     138    }   
     139 
     140      
     141 
     142 
     143}            
     144 
     145     
     146     
    49147 
    50148 
     
    53151 
    54152 
    55         } 
    56     } 
     153 
     154     
Note: See TracChangeset for help on using the changeset viewer.