Changeset 6534 for 2015/27/VilleHy


Ignore:
Timestamp:
2015-06-29 14:57:22 (4 years ago)
Author:
misakana
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2015/27/VilleHy/Pong/Pong/Pong/Pong.cs

    r6500 r6534  
    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; 
     18 
     19   IntMeter pelaajan1pisteet; 
     20    IntMeter pelaajan2Pisteet; 
    1221    public override void Begin() 
    1322    { 
    1423        LuoKentta(); 
     24        AsetaOhjaimet(); 
     25        LisaaLaskurit(); 
    1526        AloitaPeli(); 
    16         Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
    1727    } 
    1828 
     
    2030    { 
    2131        pallo = new PhysicsObject(40.0, 40.0); 
     32        pallo.Shape = Shape.Circle; 
    2233        Add(pallo); 
    23         pallo.Shape = Shape.Circle; 
    2434        pallo.X = -200.0; 
    2535        pallo.Y = 0.0; 
    2636        pallo.Restitution = 1.0; 
    27         LuoMaila(Level.Left + 20.0, 0.0); 
    28         LuoMaila(Level.Right - 20.0, 0.0); 
    29         
    30          
     37 
     38       maila1 = LuoMaila(Level.Left + 20.0, 0.0); 
     39      maila2 = LuoMaila(Level.Right - 20.0, 0.0); 
     40 
     41 
    3142        Level.CreateBorders(1.0, false); 
    3243        Level.Background.Color = Color.Black; 
     
    4253    } 
    4354 
    44     void LuoMaila(double x, double y) 
     55    PhysicsObject LuoMaila(double x, double y) 
    4556    { 
    4657        PhysicsObject maila = PhysicsObject.CreateStaticObject(20.0, 100.0); 
     
    5061        maila.Restitution = 1.0; 
    5162        Add(maila); 
     63        return maila; 
     64    } 
     65    void AsetaOhjaimet() 
     66    { 
    5267 
     68        Keyboard.Listen(Key.A, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liikuta mailaa ylös", maila1, nopeusYlos); 
     69        Keyboard.Listen(Key.A, ButtonState.Released,AsetaNopeus,null, maila1, Vector.Zero); 
     70        Keyboard.Listen(Key.Z, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liikuta mailaa alas", maila1, nopeusAlas); 
     71        Keyboard.Listen(Key.Z, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 
     72 
     73        Keyboard.Listen(Key.Up, ButtonState.Down, AsetaNopeus, "Pelaaja 2: Liikuta mailaa ylös", maila2, nopeusYlos); 
     74        Keyboard.Listen(Key.Up, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 
     75        Keyboard.Listen(Key.Down, ButtonState.Down, AsetaNopeus, "Pelaaja 2: Liikuta mailaa alas", maila2, nopeusAlas); 
     76        Keyboard.Listen(Key.Down, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 
     77 
     78        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet"); 
     79        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
     80    } 
     81    void AsetaNopeus(PhysicsObject maila, Vector nopeus) 
     82    { 
     83        if ((nopeus.Y < 0) && (maila.Bottom < Level.Bottom)) 
     84        { 
     85            maila.Velocity = Vector.Zero; 
     86            return; 
     87        } 
     88        if ((nopeus.Y> 0) && (maila.Top> Level.Top)) 
     89        { 
     90            maila.Velocity = Vector.Zero; 
     91            return; 
     92        } 
     93        maila.Velocity = nopeus;  
     94    } 
     95    void LisaaLaskurit() 
     96    { 
     97       IntMeter pelaajan1Pisteet; 
     98       IntMeter pelaajan2pisteet; 
     99    } 
     100    IntMeter LuoPisteLaskuri(double x, double y) 
     101    { 
     102        IntMeter laskuri = new IntMeter(0); 
     103        laskuri.MaxValue = 10; 
     104 
     105          Label naytto  = new Label(); 
     106        naytto.BindTo(laskuri); 
     107        naytto.X = x; 
     108        naytto.Y = y; 
     109        naytto.TextColor = Color.White; 
     110        naytto.BorderColor = Level.Background.Color; 
     111        naytto.Color = Level.Background.Color; 
     112        Add(naytto); 
     113 
     114        return laskuri; 
    53115    } 
    54116} 
Note: See TracChangeset for help on using the changeset viewer.