Changeset 3493


Ignore:
Timestamp:
2012-07-03 15:02:17 (8 years ago)
Author:
leotoiol
Message:

Talletus.

Location:
2012/27/LeoL
Files:
18 added
1 edited

Legend:

Unmodified
Added
Removed
  • 2012/27/LeoL/pong/pong/pong/pong.cs

    r3450 r3493  
    1010{ 
    1111 
     12    Vector nopeusYlos = new Vector(0, 200); 
     13    Vector nopeusAlas = new Vector(0, -200); 
    1214 
    1315    PhysicsObject pallo; 
     16 
     17    PhysicsObject maila1; 
     18    PhysicsObject maila2; 
     19    IntMeter pelaajan1Pisteet; 
     20    IntMeter pelaajan2Pisteet; 
     21 
     22    PhysicsObject vasenReuna; 
     23    PhysicsObject oikeaReuna; 
     24  
    1425 
    1526    public override void Begin() 
     
    1829 
    1930        luokentta(); 
     31        Asetaohjaimet(); 
     32        LisaaLaskurit(); 
    2033        aloitapeli(); 
    21         Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
    22     }     
     34 
     35    } 
    2336    void luokentta() 
    2437    { 
     38        
     39 
    2540        pallo = new PhysicsObject(40.0, 40.0); 
    2641        Add(pallo); 
     
    3045        pallo.Restitution = 1.0; 
    3146 
    32         LuoMaila(Level.Left + 20.0, 0.0); 
    33         LuoMaila(Level.Right - 20.0, 0.0); 
     47        maila1 = LuoMaila(Level.Left + 20.0, 0.0); 
     48        maila2 = LuoMaila(Level.Right - 20.0, 0.0); 
    3449 
    35         Level.CreateBorders(1.0, false); 
     50        vasenReuna = Level.CreateLeftBorder(); 
     51        vasenReuna.Restitution = 1.0; 
     52        vasenReuna.IsVisible = false; 
     53 
     54        oikeaReuna = Level.CreateRightBorder(); 
     55        oikeaReuna.Restitution = 1.0; 
     56        oikeaReuna.IsVisible = false; 
     57 
     58 
     59 
    3660        Level.BackgroundColor = Color.Black; 
    3761 
     
    4569 
    4670    } 
    47     void LuoMaila(double x, double y) 
     71    PhysicsObject LuoMaila(double x, double y) 
    4872    { 
    4973 
     
    5680        maila.Restitution = 1.0; 
    5781        Add(maila); 
     82        return maila; 
     83    } 
     84 
     85    void Asetaohjaimet() 
     86    { 
     87        Keyboard.Listen(Key.A, ButtonState.Down, AsetaNopeus, "pelaaja 1: liikutamaila ylös", maila1, nopeusYlos); 
     88        Keyboard.Listen(Key.A, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 
     89        Keyboard.Listen(Key.A, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liikuta mailaa ylös", maila1, nopeusYlos); 
     90        Keyboard.Listen(Key.A, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 
     91 
     92 
     93        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
     94        Keyboard.Listen(Key.Z, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liikuta mailaa alas", maila1, nopeusAlas); 
     95        Keyboard.Listen(Key.Z, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 
     96 
     97        Keyboard.Listen(Key.Up, ButtonState.Down, AsetaNopeus, "Pelaaja 2: Liikuta mailaa ylös", maila2, nopeusYlos); 
     98        Keyboard.Listen(Key.Up, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 
     99        Keyboard.Listen(Key.Down, ButtonState.Down, AsetaNopeus, "Pelaaja 2: Liikuta mailaa alas", maila2, nopeusAlas); 
     100        Keyboard.Listen(Key.Down, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 
     101 
     102        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet"); 
     103    } 
     104 
     105    void AsetaNopeus(PhysicsObject maila, Vector nopeus) 
     106    { 
     107        if ((nopeus.Y < 0) && (maila.Bottom < Level.Bottom)) 
     108        { 
     109            maila.Velocity = Vector.Zero; 
     110            return; 
     111        } 
     112 
     113        if ((nopeus.Y > 0) && (maila.Top > Level.Top)) 
     114        { 
     115            maila.Velocity = Vector.Zero; 
     116            return; 
     117        } 
     118 
     119 
     120        maila.Velocity = nopeus; 
     121    } 
     122 
     123    void LisaaLaskurit() 
     124    { 
     125 
    58126 
    59127    } 
    60  
    61  
    62  
     128    IntMeter LuoPisteLaskuri(double x, double y) 
     129    { 
     130        IntMeter laskuri = new IntMeter(0); 
     131        Label naytto = new Label(); 
     132        naytto.BindTo(laskuri); 
     133        naytto.X = x; 
     134        naytto.Y = y; 
     135        naytto.TextColor = Color.White; 
     136        naytto.BorderColor = Level.BackgroundColor; 
     137        naytto.Color = Level.BackgroundColor; 
     138        Add(naytto); laskuri.MaxValue = 10; 
     139        return laskuri; 
     140    } 
     141    void KasittelePallonTormays(PhysicsObject pallo, PhysicsObject kohde) 
     142    { 
     143        if (kohde == oikeaReuna) 
     144        { 
     145            pelaajan1Pisteet.Value += 1; 
     146        } 
     147        else if (kohde == vasenReuna) 
     148        { 
     149            pelaajan2Pisteet.Value += 1; 
     150        } 
     151    } 
    63152} 
Note: See TracChangeset for help on using the changeset viewer.