Changeset 7758


Ignore:
Timestamp:
2016-07-05 11:25:47 (3 years ago)
Author:
karkaite
Message:
 
Location:
2016/27/OnniK/Pong
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • 2016/27/OnniK/Pong/Pong/Pong/Pong.cs

    r7709 r7758  
    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; 
    1218    public override void Begin() 
    1319    { 
    1420        LuoKentta(); 
    1521        AsetaOhjaimet(); 
     22        LisaaLaskurit(); 
    1623        AloitaPeli(); 
    1724    } 
    1825    void AsetaOhjaimet() 
    19         { 
    20             Keyboard.Listen(Key.A, ButtonState.Down, LiikutaMaila1Ylos, "Pelaaja 1: Liikuta mailaa ylös"); 
    21             Keyboard.Listen(Key.A, ButtonState.Released, PysaytaMaila1, null); 
     26    { 
     27        Keyboard.Listen(Key.A, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liikuta mailaa ylös", maila1, nopeusYlos); 
     28        Keyboard.Listen(Key.A, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 
     29        Keyboard.Listen(Key.Z, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liikuta mailaa alas", maila1, nopeusAlas); 
     30        Keyboard.Listen(Key.Z, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 
    2231 
    23             Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
     32        Keyboard.Listen(Key.Up, ButtonState.Down, AsetaNopeus, "Pelaaja 2: Liikuta mailaa ylos", maila2, nopeusYlos); 
     33        Keyboard.Listen(Key.Up, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 
     34        Keyboard.Listen(Key.Down, ButtonState.Down, AsetaNopeus, "Pelaaja 2: Liikuta mailaa alas", maila2, nopeusAlas); 
     35        Keyboard.Listen(Key.Down, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 
    2436 
    25   
    26          
     37        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet"); 
     38        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
     39 
     40 
     41 
    2742    } 
    28     void LuoMaila(double x, double y) 
     43    PhysicsObject LuoMaila(double x, double y) 
    2944    { 
    3045        PhysicsObject maila = PhysicsObject.CreateStaticObject(20.0, 100.0); 
    3146        maila.Shape = Shape.Rectangle; 
    32         maila.X =  
    33         maila.Y =  
     47        maila.X = x; 
     48        maila.Y = y; 
    3449        maila.Restitution = 1.0; 
    3550        Add(maila); 
    36  
     51        return maila; 
    3752    } 
    3853    void LuoKentta() 
     
    4661        Add(pallo); 
    4762 
    48         LuoMaila(Level.Left + 20.0, 0.0); 
    49         LuoMaila(Level.Right - 20.0, 0.0); 
    50          
     63        maila1 = LuoMaila(Level.Left + 20.0, 0.0); 
     64        maila2 = LuoMaila(Level.Right - 20.0, 0.0); 
     65 
    5166 
    5267        Level.CreateBorders(1.0, false); 
     
    5974        Vector implussi = new Vector(500.0, 0.0); 
    6075        pallo.Hit(implussi); 
     76    } 
    6177 
    62         void LiikutaMailaaYlos(PhysicsObject maila) 
     78    void AsetaNopeus(PhysicsObject maila, Vector nopeus) 
     79    { 
     80        if ((nopeus.Y < 0) && (maila.Bottom < Level.Bottom)) 
    6381        { 
    64             Vector nopeus 
     82 
     83        maila.Velocity = Vector.Zero; 
     84            return; 
     85 
     86         } 
     87 
     88        if ((nopeus.Y >  0) && (maila.Top > Level.Top)) 
     89        { 
     90            maila.Velocity = Vector.Zero; 
     91            return; 
     92 
    6593        } 
    66          
    67        
     94        maila.Velocity = nopeus; 
     95 
     96    } 
     97 
     98    void LisaaLaskurit() 
     99    { 
     100 
     101        IntMeter LuoPisteLaskuri() 
     102            { 
     103            IntMeter laskuri = new IntMeter(0); 
     104            laskuri.MaxValue = 10; 
     105            return laskuri; 
     106 
     107        } 
     108 
     109 
     110 
     111 
    68112    } 
    69113} 
     114     
    70115 
     116 
Note: See TracChangeset for help on using the changeset viewer.