Changeset 1566 for 2010/31


Ignore:
Timestamp:
2010-08-03 14:54:23 (13 years ago)
Author:
paaaanro
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2010/31/lajaniku/pong/Peli.cs

    r1518 r1566  
    66public class Peli : PhysicsGame 
    77{ 
     8    Vector nopeusYlos = new Vector(0, 200); 
     9    Vector nopeusAlas = new Vector(0, -200); 
     10 
     11 
     12    PhysicsObject pallo; 
     13 
     14    PhysicsObject maila1; 
     15    PhysicsObject maila2; 
     16 
     17 
    818    protected override void Begin() 
    919    { 
     20        LuoKentta(); 
     21        AsetaOhjaimet(); 
     22        Keyboard.Listen( Key.Escape, ButtonState.Pressed, Exit, "Poistu" ); 
     23        AloitaPeli(); 
    1024 
    11         PhysicsObject pallo = new PhysicsObject(40.0, 40.0); 
     25    } 
     26 
     27    void LuoKentta() 
     28    { 
     29        pallo = new PhysicsObject(40.0, 40.0); 
    1230        pallo.Shape = Shapes.Circle; 
    1331        Add(pallo); 
    1432        pallo.X = -200.0; 
    15         pallo.Y = 0.0; 
     33        pallo.Y = 390.0; 
    1634 
    17         Vector impulssi = new Vector(500.0, -290.0); 
    18         pallo.Hit(impulssi); 
     35        maila1 = LuoMaila(Level.Left + 20.0, 0.0); 
     36        maila2 = LuoMaila(Level.Right - 20.0, 0.0); 
    1937 
    20         Level.CreateBorders( 1.0, false); 
     38 
     39        Level.CreateBorders(1.0, false); 
    2140        pallo.Restitution = 1.0; 
    2241        Level.BackgroundColor = Color.Green; 
    2342        Camera.ZoomToLevel(); 
     43        pallo.Color = Color.Orange; 
     44    } 
     45 
     46    void AloitaPeli() 
     47    { 
     48        Vector impulssi = new Vector(500.0, 0.0); 
     49        pallo.Hit(impulssi); 
     50    } 
     51 
     52    PhysicsObject LuoMaila(double x, double y) 
     53    { 
     54        PhysicsObject maila = PhysicsObject.CreateStaticObject(20.0, 100.0); 
     55        maila.Shape = Shapes.Rectangle; 
     56        maila.X = x; 
     57        maila.Y = y; 
     58        maila.Restitution = 1.0; 
     59        Add(maila); 
     60        return maila; 
     61    } 
     62 
     63 
     64    void AsetaNopeus(PhysicsObject maila, Vector nopeus ) 
     65    { 
     66        if ( (nopeus.Y > 0) && (maila.Top > Level.Top)) 
     67        { 
     68            maila.Velocity = Vector.Zero; 
     69            return; 
     70 
     71        } 
     72 
     73        maila.Velocity = nopeus; 
     74    } 
     75 
     76 
     77    void AsetaOhjaimet() 
     78    { 
     79        Keyboard.Listen(Key.A, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liikuta mailaa ylös", maila1, nopeusYlos); 
     80        Keyboard.Listen(Key.A, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 
     81        Keyboard.Listen(Key.Z, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liikuta mailaa alas", maila1, nopeusAlas); 
     82        Keyboard.Listen(Key.Z, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 
     83 
     84        Keyboard.Listen(Key.Up, ButtonState.Down, AsetaNopeus, "Pelaaja 2: Liikuta mailaa ylös", maila2, nopeusYlos); 
     85        Keyboard.Listen(Key.Up, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 
     86        Keyboard.Listen(Key.Down, ButtonState.Down, AsetaNopeus, "Pelaaja 2: Liikuta mailaa alas", maila2, nopeusAlas); 
     87        Keyboard.Listen(Key.Down, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 
     88 
     89        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet"); 
     90        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Poistu"); 
     91 
     92 
     93    } 
     94 
     95     
    2496 
    2597 
    2698 
    2799 
    28    } 
    29100 
    30    void LuoKentta() 
    31    { 
    32    } 
    33101 
     102   
    34103} 
     104 
Note: See TracChangeset for help on using the changeset viewer.