Changeset 2508


Ignore:
Timestamp:
2011-08-02 15:00:07 (8 years ago)
Author:
matehaat
Message:

Talletus.

Location:
2011/31/MaijaH
Files:
18 added
6 edited

Legend:

Unmodified
Added
Removed
  • 2011/31/MaijaH/Pong/Pong/Peli.cs

    r2475 r2508  
    1111    Vector nopeusYlos = new Vector(0, 200); 
    1212    Vector nopeusAlas = new Vector(0, -200); 
    13      
     13 
    1414    PhysicsObject pallo; 
    15      
    1615    PhysicsObject maila1; 
    1716    PhysicsObject maila2; 
    18      
     17 
     18    PhysicsObject vasenReuna; 
     19    PhysicsObject oikeaReuna; 
     20 
     21    IntMeter pelaajan1Pisteet; 
     22    IntMeter pelaajan2Pisteet; 
     23 
    1924    public override void Begin() 
    2025    { 
    2126        LuoKentta(); 
    2227        AsetaOhjaimet(); 
     28        LisaaLaskurit(); 
    2329        AloitaPeli(); 
    2430 
     
    3440        pallo.Y = 200.0; 
    3541        pallo.Restitution = 1.0; 
     42 
     43        vasenReuna = Level.CreateLeftBorder(); 
     44        vasenReuna.Restitution = 1.0; 
     45        vasenReuna.IsVisible = false; 
    3646         
    37         Level.CreateBorders(1.0, false); 
     47        oikeaReuna = Level.CreateRightBorder(); 
     48        oikeaReuna.Restitution = 1.0; 
     49        oikeaReuna.IsVisible = false; 
     50 
     51        PhysicsObject ylaReuna = Level.CreateTopBorder(); 
     52        ylaReuna.Restitution = 1.0; 
     53        ylaReuna.IsVisible = false; 
     54 
     55        PhysicsObject alaReuna = Level.CreateBottomBorder(); 
     56        alaReuna.Restitution = 1.0; 
     57        alaReuna.IsVisible = false; 
     58 
    3859        Level.BackgroundColor = Color.Black; 
     60        MessageDisplay.TextColor = Color.White; 
    3961 
    40         maila1 = LuoMaila (Level.Left + 20.0, 0.0); 
     62        maila1 = LuoMaila(Level.Left + 20.0, 0.0); 
    4163        maila2 = LuoMaila(Level.Right - 20.0, 0.0); 
     64         
     65        AddCollisionHandler(pallo, KasittelePallonTormays); 
    4266 
    4367        Camera.ZoomToLevel(); 
    44          
     68 
    4569    } 
    4670    void AloitaPeli() 
     
    6084        return maila; 
    6185    } 
    62     void AsetaOhjaimet () 
     86    void AsetaOhjaimet() 
    6387    { 
    6488        Keyboard.Listen(Key.A, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liikuta mailaa ylös", maila1, nopeusYlos); 
     
    6690        Keyboard.Listen(Key.Z, ButtonState.Down, AsetaNopeus, " Pelaaja 1: Liikuta mailaa alas", maila1, nopeusAlas); 
    6791        Keyboard.Listen(Key.Z, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 
     92 
     93        Keyboard.Listen(Key.Up, ButtonState.Down, AsetaNopeus, "Pelaaja 2: Liikuta mailaa ylös", maila2, nopeusYlos); 
     94        Keyboard.Listen(Key.Up, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 
     95        Keyboard.Listen(Key.Down, ButtonState.Down, AsetaNopeus, "Pelaaja 2: Liikuta mailaa alas", maila2, nopeusAlas); 
     96        Keyboard.Listen(Key.Down, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 
     97 
     98        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet"); 
    6899        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Poistu"); 
     100 
    69101    } 
    70     void AsetaNopeus (PhysicsObject maila, Vector nopeus) 
     102    void AsetaNopeus(PhysicsObject maila, Vector nopeus) 
    71103    { 
     104        if ((nopeus.Y < 0) && (maila.Bottom < Level.Bottom)) 
     105        { 
     106            maila.Velocity = Vector.Zero; 
     107            return; 
     108        } 
     109        if ((nopeus.Y > 0) && (maila.Top > Level.Top)) 
     110        { 
     111            maila.Velocity = Vector.Zero; 
     112            return; 
     113        } 
     114 
    72115        maila.Velocity = nopeus; 
    73116    } 
     117    void LisaaLaskurit() 
     118    { 
     119        pelaajan1Pisteet = LuoPisteLaskuri(Screen.Left + 100.0, Screen.Top - 100.0); 
     120        pelaajan2Pisteet = LuoPisteLaskuri(Screen.Right - 100.0, Screen.Top - 100.0); 
     121    } 
     122    IntMeter LuoPisteLaskuri(double x, double y) 
     123    { 
     124        IntMeter laskuri = new IntMeter(0); 
     125        laskuri.MaxValue = 10; 
     126        Label naytto = new Label(); 
     127        naytto.BindTo(laskuri); 
     128        naytto.X = x; 
     129        naytto.Y = y; 
     130        naytto.TextColor = Color.White; 
     131        naytto.BorderColor = Level.BackgroundColor; 
     132        naytto.Color = Level.BackgroundColor; 
     133        Add(naytto); 
     134        return laskuri; 
     135    } 
     136    void KasittelePallonTormays(PhysicsObject pallo, PhysicsObject kohde) 
     137    { 
     138        if (kohde == oikeaReuna) 
     139        { 
     140            pelaajan1Pisteet.Value +=1; 
     141        } 
     142        else if (kohde == vasenReuna) 
     143        { 
     144            pelaajan2Pisteet.Value += 1; 
     145        } 
    74146 
     147 
     148    } 
    75149} 
Note: See TracChangeset for help on using the changeset viewer.