Changeset 7714


Ignore:
Timestamp:
2016-07-04 14:53:16 (3 years ago)
Author:
karkaite
Message:
 
Location:
2016/27/VerttiH/Pong/Pong/Pong
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • 2016/27/VerttiH/Pong/Pong/Pong/Pong.cs

    r7691 r7714  
    99public class Pong : PhysicsGame 
    1010{ 
     11    Vector nopeusYlos = new Vector(0, 200); 
     12    Vector nopeusAlas = new Vector(0, -200); 
     13 
    1114    PhysicsObject pallo; 
     15 
     16    PhysicsObject maila1; 
     17    PhysicsObject maila2; 
    1218    public override void Begin() 
     19      
    1320    { 
     21         
     22 
    1423        LuoKentta(); 
     24        AsetaOhjaimet(); 
     25        AloitaPeli(); 
    1526 
    1627        Vector impulssi = new Vector(500.0, 0.0); 
    1728        pallo.Hit(impulssi); 
    1829 
     30         
     31    } 
     32    PhysicsObject LuoMaila(double x, double y) 
     33    { 
     34        PhysicsObject maila = PhysicsObject.CreateStaticObject(20.0, 100.0); 
     35        maila.Shape = Shape.Rectangle; 
     36        maila.X = x; 
     37        maila.Y = y; 
     38        maila.Restitution = 1.0; 
     39        Add(maila); 
     40        return maila; 
     41    } 
     42 
     43    void AsetaNopeus(PhysicsObject maila, Vector nopeus) 
     44    { 
     45        if ((nopeus.Y (maila.Top > Level.Top) 
     46 
     47        maila.Velocity = nopeus; 
     48        return; 
     49    } 
     50 
     51    void AsetaOhjaimet() 
     52    { 
     53        Keyboard.Listen(Key.A, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liikuta mailaa ylös", maila1, nopeusYlos); 
     54        Keyboard.Listen(Key.A, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 
     55        Keyboard.Listen(Key.Z, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liikuta mailaa alas", maila1, nopeusAlas); 
     56        Keyboard.Listen(Key.Z, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 
     57 
     58        Keyboard.Listen(Key.Up, ButtonState.Down, AsetaNopeus, "Pelaaja 2: Liikuta mailaa ylös", maila2, nopeusYlos); 
     59        Keyboard.Listen(Key.Up, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 
     60        Keyboard.Listen(Key.Down, ButtonState.Down, AsetaNopeus, "Pelaaja 2: Liikuta mailaa alas", maila2, nopeusAlas); 
     61        Keyboard.Listen(Key.Down, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 
     62 
     63        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet"); 
     64 
    1965        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
    2066    } 
    2167 
     68    const double PALLON_MIN_NOPEUS = 500; 
     69 
     70    protected override void Update(Time time) 
     71    { 
     72        if (pallo != null && Math.Abs(pallo.Velocity.X) < PALLON_MIN_NOPEUS) 
     73        { 
     74            pallo.Velocity = new Vector(pallo.Velocity.X * 1.1, pallo.Velocity.Y); 
     75        } 
     76        base.Update(time); 
     77 
     78    } 
     79    void AloitaPeli() 
     80    { 
     81        Vector impulssi = new Vector(500.0, 0.0); 
     82        pallo.Hit(impulssi); 
     83    } 
    2284    void LuoKentta() 
    2385    { 
    2486         pallo = new PhysicsObject(40.0, 40.0); 
    2587        pallo.Shape = Shape.Circle; 
     88        pallo.X = -200.0; 
     89        pallo.Y = 0.0; 
     90        pallo.Restitution = 1.0; 
    2691        Add(pallo); 
    2792 
    2893         
     94 
     95        
     96 
     97        maila1 = LuoMaila(Level.Left + 20.0, 0.0); 
     98        maila2 = LuoMaila(Level.Right - 20.0, 0.0); 
     99 
    29100        Level.CreateBorders(1.0, false); 
    30101        Level.Background.Color = Color.Black; 
    31102 
    32103        
    33         pallo.X = -200.0; 
    34         pallo.Y = 0.0; 
    35         pallo.Restitution = 1.0; 
     104        
    36105 
    37106        Camera.ZoomToLevel(); 
Note: See TracChangeset for help on using the changeset viewer.