Changeset 5532


Ignore:
Timestamp:
2014-07-22 11:58:34 (9 years ago)
Author:
jotapoti
Message:

Mailoja voi ohjata.

Location:
2014/30/JouniP/Pong
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • 2014/30/JouniP/Pong/Pong/Pong/Pong.cs

    r5526 r5532  
    99public class Pong : PhysicsGame 
    1010{ 
    11         PhysicsObject pallo; 
     11    Vector nopeusYlos = new Vector(0, 200); 
     12    Vector nopeusAlas = new Vector(0, -200); 
    1213 
    13         public override void Begin() 
    14         { 
    15             LuoKentta(); 
    16             AloitaPeli(); 
     14    PhysicsObject pallo; 
     15    PhysicsObject maila1; 
     16    PhysicsObject maila2; 
    1717 
    18             Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
    19         } 
     18    public override void Begin() 
     19    { 
     20        LuoKentta(); 
     21        AsetaOhjaimet(); 
    2022 
    21         void LuoKentta() 
    22         { 
    23             LuoPallo(); 
     23        AloitaPeli(); 
    2424 
    25             LuoMaila(Level.Left + 20.0,  Level.Top - 100.0); 
    26             LuoMaila(Level.Right - 20.0, Level.Bottom + 100.0); 
     25        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
     26    } 
    2727 
    28             Level.CreateBorders(1.0, false); 
    29             Level.Background.Color = Color.Black; 
     28    void LuoKentta() 
     29    { 
     30        LuoPallo(); 
    3031 
    31             Camera.ZoomToLevel(); 
    32         } 
    33          
    34         void LuoPallo() 
    35         { 
    36             pallo = new PhysicsObject(40.0, 40.0); 
    37             pallo.Shape = Shape.Circle; 
    38             pallo.X = -200.0; 
    39             pallo.Y = 0.0; 
    40             pallo.Restitution = 1.0; 
    41             Add(pallo); 
    42         } 
     32        maila1 = LuoMaila(Level.Left + 20.0, Level.Top - 100.0); 
     33        maila2 = LuoMaila(Level.Right - 20.0, Level.Bottom + 100.0); 
    4334 
    44         void LuoMaila(double sijaintiVaakasuunnassa, double sijaintiPystysuunnassa) 
    45         { 
    46             PhysicsObject maila = PhysicsObject.CreateStaticObject(20.0, 100.0); 
    47             maila.Shape = Shape.Rectangle; 
    48             maila.X = sijaintiVaakasuunnassa; 
    49             maila.Y = sijaintiPystysuunnassa; 
    50             maila.Restitution = 1.0; 
    51             Add(maila); 
    52         } 
     35        Level.CreateBorders(1.0, false); 
     36        Level.Background.Color = Color.Black; 
    5337 
    54         void AloitaPeli() 
    55         { 
    56             Vector impulssi = new Vector(500.0, 0.0); 
    57             pallo.Hit(impulssi); 
    58         } 
    59      
     38        Camera.ZoomToLevel(); 
     39    } 
     40 
     41    void LuoPallo() 
     42    { 
     43        pallo = new PhysicsObject(40.0, 40.0); 
     44        pallo.Shape = Shape.Circle; 
     45        pallo.X = -200.0; 
     46        pallo.Y = 0.0; 
     47        pallo.Restitution = 1.0; 
     48        Add(pallo); 
     49    } 
     50 
     51    PhysicsObject LuoMaila(double sijaintiVaakasuunnassa, double sijaintiPystysuunnassa) 
     52    { 
     53        PhysicsObject maila = PhysicsObject.CreateStaticObject(20.0, 100.0); 
     54        maila.Shape = Shape.Rectangle; 
     55        maila.X = sijaintiVaakasuunnassa; 
     56        maila.Y = sijaintiPystysuunnassa; 
     57        maila.Restitution = 1.0; 
     58        Add(maila); 
     59        return maila; 
     60    } 
     61 
     62    void AloitaPeli() 
     63    { 
     64        Vector impulssi = new Vector(500.0, 0.0); 
     65        pallo.Hit(impulssi); 
     66    } 
     67 
     68 
     69    void AsetaOhjaimet() 
     70    { 
     71        Keyboard.Listen(Key.A, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liikuta mailaa ylös", maila1, nopeusYlos); 
     72        Keyboard.Listen(Key.A, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 
     73        Keyboard.Listen(Key.Z, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liikuta mailaa alas", maila1, nopeusAlas); 
     74        Keyboard.Listen(Key.Z, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 
     75 
     76        Keyboard.Listen(Key.Up, ButtonState.Down, AsetaNopeus, "Pelaaja 2: Liikuta mailaa ylös", maila2, nopeusYlos); 
     77        Keyboard.Listen(Key.Up, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 
     78        Keyboard.Listen(Key.Down, ButtonState.Down, AsetaNopeus, "Pelaaja 2: Liikuta mailaa alas", maila2, nopeusAlas); 
     79        Keyboard.Listen(Key.Down, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 
     80 
     81        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet"); 
     82        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
     83    } 
     84 
     85    void AsetaNopeus(PhysicsObject maila, Vector nopeus) 
     86    { 
     87        maila.Velocity = nopeus; 
     88    } 
     89 
    6090} 
Note: See TracChangeset for help on using the changeset viewer.