Changeset 530


Ignore:
Timestamp:
2010-06-08 11:25:30 (10 years ago)
Author:
eearleht
Message:

Olen jatkanut Pong peliä.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2010/23/eearleht/Pong/Peli.cs

    r515 r530  
    99    { 
    1010        PhysicsObject pallo; 
    11  
     11        PhysicsObject maila1; 
     12        Vector nopeusYlos = new Vector(0, 200); 
     13        Vector nopeusAlas = new Vector(0, -200); 
     14        PhysicsObject maila2; 
     15         
    1216        protected override void Begin() 
    1317        { 
    1418            Luokentta(); 
    1519            AsetaOhjaimet(); 
     20            LisaaLaskurit(); 
    1621            Aloitapeli(); 
    17              
     22 
    1823        } 
    1924 
     
    2732            pallo.Restitution = 1.0; 
    2833 
    29             LuoMaila(Level.Left + 20.0, 0.0); 
    30             LuoMaila(Level.Right - 20.0, 0.0); 
     34            maila1 = LuoMaila(Level.Left + 20.0, 0.0); 
     35            maila2 = LuoMaila(Level.Right - 20.0, 0.0); 
    3136 
    3237            Level.CreateBorders(1.0, false); 
    3338            Level.BackgroundColor = Color.Black; 
    3439            Camera.ZoomToLevel(); 
    35         }  
    36             void AsetaOhjaimet() 
    37         { 
    38             Keyboard.Listen( Key.Escape, ButtonState.Pressed, Exit, "Poistu" ); 
    3940        } 
    4041 
    41          
     42        void AsetaOhjaimet() 
     43        { 
     44            Keyboard.Listen(Key.I, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liikuta mailaa ylos", maila1, nopeusYlos); 
     45            Keyboard.Listen(Key.I, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 
     46            Keyboard.Listen(Key.K, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liikuta mailaa alas", maila1, nopeusAlas); 
     47            Keyboard.Listen(Key.K, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 
     48 
     49            Keyboard.Listen(Key.Up, ButtonState.Down, AsetaNopeus, "Pelaaja 2: Liikuta mailaa ylös", maila2, nopeusYlos); 
     50            Keyboard.Listen(Key.Up, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 
     51            Keyboard.Listen(Key.Down, ButtonState.Down, AsetaNopeus, "Pelaaja 2: Liikuta mailaa alas", maila2, nopeusAlas); 
     52            Keyboard.Listen(Key.Down, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 
     53 
     54            Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet"); 
     55            Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Poistu"); 
     56             
     57        } 
     58 
    4259        void Aloitapeli() 
    4360        { 
    4461            Vector impulssi = new Vector(600.0, 0.0); 
    4562            pallo.Hit(impulssi); 
    46  
    4763        } 
    4864 
    49         void LuoMaila(double x, double y) 
     65        PhysicsObject LuoMaila(double x, double y) 
    5066        { 
    5167            PhysicsObject maila = PhysicsObject.CreateStaticObject(20.0, 100.0); 
     
    5571            maila.Restitution = 1.0; 
    5672            Add(maila); 
     73 
     74            return maila; 
    5775        } 
    5876 
     77             void AsetaNopeus( PhysicsObject maila, Vector nopeus ) 
     78        { 
     79            if ( (nopeus.Y < 0) && (maila.Y < Level.Bottom) ) 
     80            { 
     81                maila.Velocity = Vector.Zero; 
     82                return; 
     83            } 
     84            if ( (nopeus.Y > 0) && (maila.Y > Level.Top) ) 
     85            { 
     86                maila.Velocity = Vector.Zero; 
     87                return; 
     88            } 
    5989 
    60          
     90            maila.Velocity = nopeus; 
     91            } 
    6192 
    62     } 
    63 } 
     93             void LisaaLaskurit() 
     94        { 
     95            // ... 
     96        } 
     97             IntMeter LuoPisteLaskuri( double x, double y ) 
     98             { 
     99                 IntMeter laskuri = new IntMeter(0); 
     100                 laskuri.MaxValue = 10; 
     101                 ValueDisplay naytto = new ValueDisplay(); 
     102                 naytto.BindTo(laskuri); 
     103                 naytto.X = x; 
     104                 naytto.Y = y; 
     105                 naytto.ValueColor = Color.White; 
     106                 Add(naytto); 
     107                 return laskuri; 
     108             } 
     109 
     110 
     111 
     112        } 
     113 
     114        } 
Note: See TracChangeset for help on using the changeset viewer.