Changeset 2703 for 2012/JAO


Ignore:
Timestamp:
2012-04-16 14:48:08 (8 years ago)
Author:
anonymous
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2012/JAO/SusannaMälkki/pong/pong/pong/pong.cs

    r2690 r2703  
    99public class pong : PhysicsGame 
    1010{ 
     11    PhysicsObject pallo; 
     12    Vector nopeusYlos = new Vector(0, 200); 
     13    Vector nopeusAlas = new Vector(0, -200);  
     14    PhysicsObject maila1; 
     15    PhysicsObject maila2; 
     16 
     17 
    1118    public override void Begin() 
    12     {  
    13         PhysicsObject pallo = new PhysicsObject( 40.0, 40.0 ); 
    14         pallo.Shape = Shape.Circle; 
    15         Add( pallo ); 
    16         pallo.X = -200.0; 
     19    { 
     20        LuoKentta(); 
     21        AsetaOhjaimet(); 
     22 
     23 
    1724        Vector impulssi = new Vector(500.0, 600); 
    1825        pallo.Hit(impulssi); 
    19         Level.CreateBorders(); 
     26 
     27 
     28        // TODO: Alusta peli tässä 
     29 
     30        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli"); 
     31        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
     32    } 
     33    void LuoKentta() 
     34    { 
     35        pallo = new PhysicsObject(40.0, 40.0); 
     36        pallo.Shape = Shape.Circle; 
     37        Add(pallo); 
     38 
     39        maila1 = LuoMaila(Level.Left + 20.0, 0.0); 
     40        maila2 = LuoMaila(Level.Right - 20.0, 0.0); 
     41 
     42 
     43 
     44        pallo.X = -200.0; Level.CreateBorders(); 
    2045        pallo.Restitution = 1.0; 
    2146        Level.BackgroundColor = Color.Black; 
     
    2348 
    2449 
     50    } 
     51    void AloitaPeli() 
     52    { 
     53        Vector impulssi = new Vector(500.0, 0.0); 
     54        pallo.Hit(impulssi); 
     55 
     56    } 
     57    PhysicsObject LuoMaila(double x, double y) 
     58    { 
     59        PhysicsObject maila = PhysicsObject.CreateStaticObject(20.0, 100.0); 
     60        maila.Shape = Shape.Rectangle; 
     61        maila.X = x; 
     62        maila.Y = y; 
     63        maila.Restitution = 1.0; 
     64        Add(maila); 
    2565     
    26         // TODO: Alusta peli tässä 
     66       return maila; 
     67        } 
    2768 
    28         PhoneBackButton.Listen(ConfirmExit, "Lopeta peli"); 
    29         Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
     69 
     70    void AsetaOhjaimet() 
     71    { 
     72        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Poistu");  
     73        Keyboard.Listen(Key.A, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liikuta mailaa ylös", maila1, nopeusYlos); 
     74        Keyboard.Listen(Key.A, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 
     75        Keyboard.Listen(Key.Z, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liikuta mailaa alas", maila1, nopeusAlas); 
     76        Keyboard.Listen(Key.Z, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 
     77 
     78        Keyboard.Listen(Key.Up, ButtonState.Down, AsetaNopeus, "Pelaaja 2: Liikuta mailaa ylös", maila2, nopeusYlos); 
     79        Keyboard.Listen(Key.Up, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 
     80        Keyboard.Listen(Key.Down, ButtonState.Down, AsetaNopeus, "Pelaaja 2: Liikuta mailaa alas", maila2, nopeusAlas); 
     81        Keyboard.Listen(Key.Down, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 
     82 
     83        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet"); 
     84 
    3085    } 
     86    void AsetaNopeus(PhysicsObject maila, Vector nopeus) 
     87    { 
     88        if ((nopeus.Y > 0) && (maila.Top > Level.Top) ) 
     89 
     90        { 
     91            maila.Velocity = Vector.Zero; 
     92            return; 
     93        } 
     94 
     95 
     96        maila.Velocity = nopeus; 
     97    } 
     98 
    3199} 
     100 
     101 
     102 
     103 
     104 
Note: See TracChangeset for help on using the changeset viewer.