Changeset 2487


Ignore:
Timestamp:
2011-08-02 12:04:50 (8 years ago)
Author:
rojohans
Message:

Talletus.

Location:
2011/31/RobertJ/pong
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • 2011/31/RobertJ/pong/pong/pong/Peli.cs

    r2471 r2487  
    1111    Vector nopeusYlos = new Vector(0, 200); 
    1212    Vector nopeusAlas = new Vector(0, -200); 
     13 
    1314    PhysicsObject Pallo; 
    14  
    1515    PhysicsObject maila1; 
    1616    PhysicsObject maila2; 
     17 
     18    PhysicsObject vasenReuna; 
     19    PhysicsObject oikeaReuna; 
     20 
     21    IntMeter pelaajan1Pisteet; 
     22    IntMeter pelaajan2Pisteet; 
    1723    public override void Begin() 
    1824    { 
    19         
     25        LisaaLaskurit(); 
    2026        LuoKentta(); 
    21          
    22  
    2327        Aloitapeli(); 
    2428        AsetaOhjaimet(); 
     
    3842        Pallo.Y = 0.0; 
    3943        Pallo.Restitution = 1.0; 
    40         Level.CreateBorders(1.0, false); 
     44 
     45        vasenReuna = Level.CreateLeftBorder(); 
     46        vasenReuna.Restitution = 1.0; 
     47        vasenReuna.IsVisible = false; 
     48        oikeaReuna = Level.CreateRightBorder(); 
     49        oikeaReuna.Restitution = 1.0; 
     50        oikeaReuna.IsVisible = false; 
     51        PhysicsObject ylaReuna = Level.CreateTopBorder(); 
     52        ylaReuna.Restitution = 1.0; 
     53        ylaReuna.IsVisible = false; 
     54        PhysicsObject alaReuna = Level.CreateBottomBorder(); 
     55        alaReuna.Restitution = 1.0; 
     56        alaReuna.IsVisible = false; 
     57 
     58 
     59 
    4160        Level.BackgroundColor = Color.Black; 
    4261        Camera.ZoomToLevel(); 
    43        //put the maila thing in here if you screw up!! 
     62        MessageDisplay.TextColor = Color.White; 
    4463 
    4564        maila1 = LouMaila( Level.Left + 20.0, 0.0 ); 
    4665        maila2 = LouMaila(Level.Right - 20.0, 0.0); 
     66        AddCollisionHandler(Pallo, KasitellePallonTormays); 
    4767    } 
    4868    void Aloitapeli() 
     
    5575        PhysicsObject maila = PhysicsObject.CreateStaticObject(20.0, 100.0); 
    5676        maila.Shape = Shape.Rectangle; 
    57         maila.X = x ; 
    58         maila.Y = y ; 
     77        maila.X = x; 
     78        maila.Y = y; 
    5979        maila.Restitution = 1.0; 
    6080        Add(maila); 
     
    6686        Keyboard.Listen(Key.A, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liikuta mailaa ylös", maila1, nopeusYlos); 
    6787        Keyboard.Listen(Key.A, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 
     88        Keyboard.Listen(Key.S, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liikuta mailaa alas", maila1, nopeusAlas); 
     89        Keyboard.Listen(Key.S, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 
    6890 
     91 
     92        Keyboard.Listen(Key.Up, ButtonState.Down, AsetaNopeus, "Pelaaja 2: Liikuta mailaa ylös", maila2, nopeusYlos); 
     93        Keyboard.Listen(Key.Up, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 
     94        Keyboard.Listen(Key.Down, ButtonState.Down, AsetaNopeus, "Pelaaja 2: Liikuta mailaa alas", maila2, nopeusAlas); 
     95        Keyboard.Listen(Key.Down, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 
     96 
     97        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet"); 
    6998        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Poistu"); 
    7099    } 
    71100    void AsetaNopeus(PhysicsObject maila, Vector nopeus) 
    72101    { 
     102        if ((nopeus.Y < 0) && (maila.Bottom < Level.Bottom) ) 
     103        { 
     104            maila.Velocity = Vector.Zero; 
     105            return; 
     106        } 
     107        if ( (nopeus.Y > 0) && (maila.Top > Level.Top) ) 
     108        { 
     109            maila.Velocity = Vector.Zero; 
     110            return; 
     111        } 
    73112        maila.Velocity = nopeus; 
    74113    } 
     114    void LisaaLaskurit() 
     115    { 
     116        pelaajan1Pisteet = LouPisteLaskuri(Screen.Left + 100.0, Screen.Top - 100.0); 
     117        pelaajan2Pisteet = LouPisteLaskuri(Screen.Right - 100.0, Screen.Top - 100.0); 
     118    } 
     119    IntMeter LouPisteLaskuri( double x, double y ) 
     120    { 
     121        IntMeter laskuri = new IntMeter(0); 
     122        laskuri.MaxValue = 10; 
     123        Label naytto = new Label(); 
     124        naytto.BindTo(laskuri); 
     125        naytto.X = x; 
     126        naytto.Y = y; 
     127        naytto.TextColor = Color.White; 
     128        naytto.BorderColor = Level.BackgroundColor; 
     129        naytto.Color = Level.BackgroundColor; 
     130        Add(naytto); 
     131        return laskuri; 
     132    } 
     133    void KasitellePallonTormays(PhysicsObject pallo, PhysicsObject kohde) 
     134    { 
     135        if (kohde == oikeaReuna) 
     136        { 
     137            pelaajan1Pisteet.Value += 1; 
     138        } 
     139        else if (kohde == vasenReuna) 
     140        { 
     141            pelaajan2Pisteet.Value += 1; 
     142        } 
     143    } 
    75144} 
Note: See TracChangeset for help on using the changeset viewer.