Changeset 1619 for 2010


Ignore:
Timestamp:
2010-08-05 13:26:07 (13 years ago)
Author:
pakralki
Message:
 
Location:
2010/31/pakralki
Files:
23 added
1 edited

Legend:

Unmodified
Added
Removed
  • 2010/31/pakralki/pong_1/Peli.cs

    r1555 r1619  
    1515    PhysicsObject maila2; 
    1616 
     17    PhysicsObject vasenReuna; 
     18    PhysicsObject oikeaReuna; 
     19 
     20    IntMeter pelaajan1Pisteet; 
     21    IntMeter pelaajan2Pisteet; 
     22 
    1723    protected override void Begin() 
    1824    { 
    1925        Luokentta(); 
    2026        AsetaOhjaimet(); 
     27        LisaaLaskurit(); 
    2128        Aloitapeli(); 
    2229    } 
     
    2431    void Luokentta() 
    2532    { 
     33 
    2634        pallo = new PhysicsObject(20.0, 20.0); 
    2735        pallo.Shape = Shapes.Circle; 
     
    3240        pallo.Hit(impulssi); 
    3341 
    34         
    35         Level.CreateBorders(1.0, false); 
     42        AddCollisionHandler(pallo, KasittelePallonTormays); 
     43 
     44        vasenReuna = Level.CreateLeftBorder(); 
     45        vasenReuna.Restitution = 1.0; 
     46        vasenReuna.IsVisible = false; 
     47        oikeaReuna = Level.CreateRightBorder(); 
     48        oikeaReuna.Restitution = 1.0; 
     49        oikeaReuna.IsVisible = false; 
     50        PhysicsObject alareuna = Level.CreateBottomBorder(); 
     51        alareuna.Restitution = 1.0; 
     52        alareuna.IsVisible = false; 
     53        PhysicsObject yläreuna = Level.CreateTopBorder(); 
     54        yläreuna.Restitution = 1.0; 
     55        yläreuna.IsVisible = false; 
     56 
    3657        pallo.Restitution = 1.0; 
    3758        Level.BackgroundColor = Color.Black; 
     
    7697 
    7798            Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Poistu"); 
     99 
     100            ControllerOne.Listen(Button.DPadUp, ButtonState.Down, AsetaNopeus, "Liikuta mailaa ylös", maila1, nopeusYlos); 
     101            ControllerOne.Listen(Button.DPadUp, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 
     102            ControllerOne.Listen(Button.DPadDown, ButtonState.Down, AsetaNopeus, "Liikuta mailaa alas", maila1, nopeusAlas); 
     103            ControllerOne.Listen(Button.DPadDown, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 
     104 
     105            ControllerTwo.Listen(Button.DPadUp, ButtonState.Down, AsetaNopeus, "Liikuta mailaa ylös", maila2, nopeusYlos); 
     106            ControllerTwo.Listen(Button.DPadUp, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 
     107            ControllerTwo.Listen(Button.DPadDown, ButtonState.Down, AsetaNopeus, "Liikuta mailaa alas", maila2, nopeusAlas); 
     108            ControllerTwo.Listen(Button.DPadDown, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 
     109 
     110            ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu"); 
     111            ControllerTwo.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu"); 
     112 
     113 
    78114        } 
     115 
    79116        void AsetaNopeus(PhysicsObject maila, Vector nopeus) 
    80117        { 
     
    91128                maila.Velocity = nopeus; 
    92129        } 
     130    void LisaaLaskurit() 
     131{ 
     132    pelaajan1Pisteet = LuoPisteLaskuri(Screen.Left + 100.0, Screen.Top - 100.0); 
     133    pelaajan2Pisteet = LuoPisteLaskuri(Screen.Right - 100.0, Screen.Top - 100.0); 
     134 
    93135} 
     136    IntMeter LuoPisteLaskuri(double x, double y) 
     137{ 
     138        IntMeter laskuri = new IntMeter ( 0 ); 
     139        laskuri.MaxValue = 10; 
     140        Label naytto = new Label(); 
     141        naytto.BindTo( laskuri ); 
     142        naytto.X = x; 
     143        naytto.Y = y; 
     144        naytto.TextColor = Color.White; 
     145        Add( naytto ); 
     146 
     147        return laskuri; 
     148} 
     149    void KasittelePallonTormays(PhysicsObject pallo, PhysicsObject kohde) 
     150    { 
     151        if (kohde == oikeaReuna) 
     152        { 
     153            pelaajan1Pisteet.Value += 1; 
     154        } 
     155        else if (kohde == vasenReuna) 
     156        { 
     157            pelaajan2Pisteet.Value += 1; 
     158        } 
     159 
     160    } 
     161 
     162} 
Note: See TracChangeset for help on using the changeset viewer.