Changeset 6843 for 2015/30/ValtteriT


Ignore:
Timestamp:
2015-07-21 11:57:35 (4 years ago)
Author:
mivasata
Message:
 
Location:
2015/30/ValtteriT/Pong/Pong/Pong
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • 2015/30/ValtteriT/Pong/Pong/Pong/Pong.cs

    r6817 r6843  
    1313 
    1414    PhysicsObject pallo; 
    15  
    1615    PhysicsObject maila1; 
    1716    PhysicsObject maila2; 
     17 
     18    IntMeter pelaajan1Pisteet; 
     19    IntMeter pelaajan2Pisteet; 
    1820 
    1921    public override void Begin() 
     
    2123        LuoKentta(); 
    2224        AsetaOhjaimet(); 
     25        LisaaLaskurit(); 
    2326        AloitaPeli(); 
    2427        
     
    6871    void AsetaOhjaimet() 
    6972    { 
    70         Keyboard.Listen(Key.A, ButtonState.Down,     AsetaNopeus,   "Pelaaja 1: Liikuta mailaa ylös", maila1, nopeusYlos); 
    71         Keyboard.Listen(Key.A, ButtonState.Released, AsetaNopeus,   null,                             maila1, Vector.Zero); 
    72         Keyboard.Listen(Key.Z, ButtonState.Down,     AsetaNopeus,   "Pelaaja 1: Liikuta mailaa alas", maila1, nopeusAlas); 
    73         Keyboard.Listen(Key.Z, ButtonState.Released, AsetaNopeus,   null,                             maila1, Vector.Zero); 
     73        Keyboard.Listen(Key.A,      ButtonState.Down,      AsetaNopeus,     "Pelaaja 1: Liikuta mailaa ylös",  maila1, nopeusYlos); 
     74        Keyboard.Listen(Key.A,      ButtonState.Released,  AsetaNopeus,     null,                               maila1, Vector.Zero); 
     75        Keyboard.Listen(Key.Z,      ButtonState.Down,      AsetaNopeus,     "Pelaaja 1: Liikuta mailaa alas",  maila1, nopeusAlas); 
     76        Keyboard.Listen(Key.Z,      ButtonState.Released,  AsetaNopeus,     null,                               maila1, Vector.Zero); 
    7477 
    75         Keyboard.Listen(Key.Up, ButtonState.Down,    AsetaNopeus,   "Pelaaja 2: Liikuta mailaa ylös" 
     78        Keyboard.Listen(Key.Up,     ButtonState.Down,      AsetaNopeus,     "Pelaaja 2: Liikuta mailaa ylös",   maila2, nopeusYlos); 
     79        Keyboard.Listen(Key.Up,     ButtonState.Released,  AsetaNopeus,     null,                               maila2, Vector.Zero); 
     80        Keyboard.Listen(Key.Down,   ButtonState.Down,      AsetaNopeus,     "Pelaaja 2: Liikuta mailaa alas",   maila2, nopeusAlas); 
     81        Keyboard.Listen(Key.Down,   ButtonState.Released,  AsetaNopeus,     null, maila2, Vector.Zero); 
    7682 
    77          
    78  
    79     Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
     83        Keyboard.Listen(Key.F1,     ButtonState.Pressed,   ShowControlHelp, "Näytä ohjeet"); 
     84        Keyboard.Listen(Key.Escape, ButtonState.Pressed,   ConfirmExit,     "Lopeta peli"); 
    8085    } 
    8186 
    8287    void AsetaNopeus(PhysicsObject maila, Vector nopeus) 
    8388    { 
    84         maila.Velocity = nopeus; 
     89        if ((nopeus.Y < 0) && (maila.Bottom < Level.Bottom)) 
     90        { 
     91            maila.Velocity = Vector.Zero; 
     92            return; 
     93        } 
     94        if ((nopeus.Y > 0) && (maila.Top > Level.Top)) 
     95        { 
     96            maila.Velocity = Vector.Zero; 
     97            return; 
     98        } 
     99 
     100    maila.Velocity = nopeus; 
    85101 
    86102 
    87103    } 
    88104 
     105    void LisaaLaskurit() 
     106    { 
     107        pelaajan1Pisteet = LuoPistelaskuri(Screen.Left + 100.0, Screen.Top - 100.0); 
     108        pelaajan2Pisteet = LuoPistelaskuri(Screen.Right - 100.0, Screen.Top - 100.0); 
     109    } 
    89110 
     111    IntMeter LuoPistelaskuri(double x, double y) 
     112    { 
     113        IntMeter laskuri = new IntMeter(0); 
     114        laskuri.MaxValue = 10; 
     115 
     116        Label naytto = new Label(); 
     117        naytto.BindTo(laskuri); 
     118        naytto.X = x; 
     119        naytto.Y = y; 
     120        naytto.TextColor = Color.BrightGreen; 
     121        naytto.BorderColor = Level.Background.Color; 
     122        naytto.Color = Level.Background.Color; 
     123        Add(naytto); 
     124 
     125        return laskuri; 
     126    } 
    90127} 
Note: See TracChangeset for help on using the changeset viewer.