Changeset 1337 for 2010/30


Ignore:
Timestamp:
2010-07-27 14:59:48 (9 years ago)
Author:
paaaanro
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2010/30/roeehakk/Pong/Peli.cs

    r1301 r1337  
    77{ 
    88    PhysicsObject pallo; 
     9 
     10    Vector nopeusYlos = new Vector(0, 200); 
     11    Vector nopeusAlas = new Vector(0, -200); 
     12 
     13    PhysicsObject maila1; 
     14    PhysicsObject maila2; 
     15 
    916    protected override void Begin() 
    1017    { 
    11        LuoKentta (); 
    12        AsetaOhjaimet(); 
    13        AloitaPeli();  
    14          
    15   
    16    } 
     18 
     19 
     20        LuoKentta(); 
     21        AsetaOhjaimet(); 
     22        AloitaPeli(); 
     23 
     24 
     25    } 
    1726    void LuoKentta() 
    18         { 
     27    { 
    1928        pallo = new PhysicsObject(40.0, 40.0); 
    2029        pallo.X = -200.0; 
     
    2736        Camera.ZoomToLevel(); 
    2837 
    29         LuoMaila(Level.Left + 20.0, 0.0); 
    30         LuoMaila(Level.Right - 20.0, 0.0); 
     38        maila1 = LuoMaila(Level.Left + 20.0, 0.0); 
     39        maila2 = LuoMaila(Level.Right - 20.0, 0.0); 
    3140 
    3241 
     
    3746 
    3847    } 
    39          void AloitaPeli() 
     48    void AloitaPeli() 
    4049    { 
    4150        Vector impulssi = new Vector(600.0, 1000.0); 
    4251        pallo.Hit(impulssi); 
     52    } 
     53    PhysicsObject LuoMaila(double x, double y) 
     54    { 
     55        PhysicsObject maila = PhysicsObject.CreateStaticObject(20.0, 100.0); 
     56        maila.Shape = Shapes.Rectangle; 
     57        maila.X = x; 
     58        maila.Y = y; 
     59        maila.Restitution = 1.0; 
     60        Add(maila); 
     61        return maila; 
     62    } 
     63    void AsetaOhjaimet() 
     64    { 
     65        Keyboard.Listen(Key.W, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liikuta mailaa ylös", maila1, nopeusYlos); 
     66        Keyboard.Listen(Key.W, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 
     67        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "poistu"); 
     68        Keyboard.Listen(Key.S, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liikuta mailaa alas", maila1, nopeusAlas); 
     69        Keyboard.Listen(Key.S, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 
     70 
     71        Keyboard.Listen(Key.Up, ButtonState.Down, AsetaNopeus, "Pelaaja 2: Liikuta mailaa ylös", maila2, nopeusYlos); 
     72        Keyboard.Listen(Key.Up, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 
     73        Keyboard.Listen(Key.Down, ButtonState.Down, AsetaNopeus, "Pelaaja 2: Liikuta mailaa alas", maila2, nopeusAlas); 
     74        Keyboard.Listen(Key.Down, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 
     75 
     76        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet"); 
     77    } 
     78        void AsetaOhjaimet() 
     79{ 
     80     
     81    } 
     82        void AsetaNopeus(PhysicsObject maila, Vector nopeus) 
     83        { 
     84        if ((nopeus.Y < 0) && (maila.Bottom < Level.Bottom)) 
     85        { 
     86                maila.Velocity = Vector.Zero; 
     87                return; 
    4388        } 
    44          void LuoMaila(double x, double y) 
    45          { 
    46              PhysicsObject maila = PhysicsObject.CreateStaticObject(20.0, 100.0); 
    47              maila.Shape = Shapes.Rectangle; 
    48              maila.X = x; 
    49              maila.Y = y; 
    50              maila.Restitution = 1.0; 
    51              Add(maila); 
    52          } 
    53          void AsetaOhjaimet() 
    54          { 
    55              Keyboard.Listen(Key.A, ButtonState.Down, LiikutaMailaaYlos, "Pelaaja 1: Liikuta mailaa ylös"); 
    56              Keyboard.Listen(Key.A, ButtonState.Released, PysaytaMaila, null); 
    57              Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "poistu"); 
    58          } 
    59     void LiikutaMailaaYlos( PhysicsObject maila ) 
     89        if ((nopeus.Y > 0) && (maila.Top > Level.Top)) 
     90        { 
     91                maila.Velocity = Vector.Zero; 
     92                return; 
     93        } 
     94 
     95            maila.Velocity = nopeus; 
     96        } 
    6097} 
    61      
     98 
     99 
     100        
Note: See TracChangeset for help on using the changeset viewer.