Changeset 3223 for 2012/26/EetuH


Ignore:
Timestamp:
2012-06-26 15:01:56 (7 years ago)
Author:
eevaharm
Message:

Talletus.

Location:
2012/26/EetuH/Pong
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • 2012/26/EetuH/Pong/Pong/Pong/Pong.cs

    r3203 r3223  
    99public class Pong : PhysicsGame 
    1010{ 
     11    Vector nopeusYlos = new Vector(0, 1200); 
     12    Vector nopeusAlas = new Vector(0, -1200); 
     13 
    1114    PhysicsObject pallo; 
    12     public override void Begin() 
    13     { 
    1415 
    15         LuoKentta(); 
    16         Vector impulssi = new Vector(500.0, 0.0); 
    17         pallo.Hit(impulssi); 
     16    PhysicsObject maila1; 
     17    PhysicsObject maila2; 
    1818 
    19         Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
    2019 
    21     } 
    2220    void LuoKentta() 
    2321    { 
     
    2523        pallo.Shape = Shape.Circle; 
    2624        pallo.X = -200.0; 
    27         pallo.Y = 0.0; 
     25        pallo.Y = 50.0; 
    2826        pallo.Restitution = 1.0; 
    2927        Add(pallo); 
    30         LuoMaila(Level.Left + 20.0, 0.0); 
    31         LuoMaila(Level.Right - 20.0, 0.0); 
    3228 
    3329 
    34         PhysicsObject maila = PhysicsObject.CreateStaticObject(20.0, 100.0); 
    35         maila.Shape = Shape.Rectangle; 
    36         maila.X = Level.Left + 20.0; 
    37         maila.Y = 0.0; 
    38         maila.Restitution = 1.0; 
    39         Add(maila); 
     30        maila1 = LuoMaila(Level.Left + 20.0, 0.0); 
     31        maila2 = LuoMaila(Level.Right - 20.0, 0.0); 
     32 
     33 
     34 
     35 
     36 
    4037 
    4138        Level.CreateBorders(1.0, false); 
     
    4845        Vector impulssi = new Vector(500.0, 0.0); 
    4946        pallo.Hit(impulssi); 
    50  
    51  
    52  
    53  
    54  
    55  
    5647    } 
    57     void LuoMaila(double x, double y) 
     48    PhysicsObject LuoMaila(double x, double y) 
    5849    { 
    5950        PhysicsObject maila = PhysicsObject.CreateStaticObject(20.0, 100.0); 
     
    6354        maila.Restitution = 1.0; 
    6455        Add(maila); 
     56        return maila; 
    6557    } 
    6658    public override void Begin() 
     
    6860        LuoKentta(); 
    6961        AloitaPeli(); 
    70  
     62        AsetaOhjaimet(); 
    7163        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
    7264    } 
     65 
     66 
    7367    void AsetaOhjaimet() 
    7468    { 
     
    7670 
    7771 
     72        Keyboard.Listen(Key.A, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liikuta mailaa ylös", maila1, nopeusYlos); 
     73        Keyboard.Listen(Key.A, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 
     74        Keyboard.Listen(Key.Z, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liikuta mailaa alas", maila1, nopeusAlas); 
     75        Keyboard.Listen(Key.Z, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 
     76 
     77        Keyboard.Listen(Key.Up, ButtonState.Down, AsetaNopeus, "Pelaaja 2: Liikuta mailaa ylös", maila2, nopeusYlos); 
     78        Keyboard.Listen(Key.Up, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 
     79        Keyboard.Listen(Key.Down, ButtonState.Down, AsetaNopeus, "Pelaaja 2: Liikuta mailaa alas", maila2, nopeusAlas); 
     80        Keyboard.Listen(Key.Down, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 
     81 
     82        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet"); 
     83        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
    7884 
    7985 
     86 
     87        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
     88 
     89    } 
     90    void AsetaNopeus(PhysicsObject maila, Vector nopeus) 
     91    { 
     92 
     93 
     94        if ((nopeus.Y < 0) && (maila.Bottom < Level.Bottom)) 
     95        { 
     96            maila.Velocity = Vector.Zero; 
     97            return; 
     98        } 
     99        if ((nopeus.Y > 0) && (maila.Top > Level.Top)) 
     100        { 
     101            maila.Velocity = Vector.Zero; 
     102            return; 
     103        } 
     104 
     105        maila.Velocity = nopeus; 
     106 
     107    } 
     108        public override void Begin() 
     109{ 
     110    
     111} 
    80112 
    81113 
     
    83115 
    84116 
    85 } 
     117          LuoKentta(); 
     118       AsetaOhjaimet(); 
     119    LisaaLaskurit(); 
     120    AloitaPeli(); 
     121   
     122        void LisaaLaskurit() 
     123{ 
     124   // ... 
     125 
     126                
     127 
     128        
     129 
     130     
     131         
     132         
     133     
     134 
     135      
     136 
     137 
     138 
     139     
     140 
     141 
     142     
     143     
     144        
     145         
     146     
     147 
     148      
     149 
     150 
    86151 
    87152         
     153         
    88154 
    89   
    90155 
     156 
     157 
     158 
Note: See TracChangeset for help on using the changeset viewer.