Changeset 7532 for 2016/26


Ignore:
Timestamp:
2016-06-27 14:58:09 (3 years ago)
Author:
pimasito
Message:
 
Location:
2016/26/PinjaT/Pong
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • 2016/26/PinjaT/Pong/Pong/Pong/Pong.cs

    r7516 r7532  
    1313 
    1414    PhysicsObject pallo; 
    15  
    1615    PhysicsObject maila1; 
    1716    PhysicsObject maila2; 
     17 
     18    IntMeter pelaajan1Pisteet; 
     19    IntMeter pelaajan2Pisteet; 
    1820 
    1921    public override void Begin() 
     
    2224        LuoKentta(); 
    2325        AsetaOhjaimet(); 
     26        LisaaLaskurit(); 
    2427        AloitaPeli(); 
    25          
    26         
    27     } 
    28  
    29     void AloitaPeli() 
    30     { 
    31         Vector impulssi = new Vector(500.0, 200.0); 
    32         pallo.Hit(impulssi); 
    3328    } 
    3429 
     
    4641        maila2 = LuoMaila(Level.Right - 20.0, 0.0); 
    4742 
    48         Level.CreateBorders(1.0, false); 
     43        PhysicsObject vasenReuna = Level.CreateLeftBorder(); 
     44        vasenReuna.Restitution = 1.0; 
     45        vasenReuna.IsVisible = false; 
     46 
     47        PhysicsObject oikeaReuna = Level.CreateRightBorder(); 
     48        oikeaReuna.Restitution = 1.0; 
     49        oikeaReuna.IsVisible = false; 
     50 
     51        PhysicsObject alareuna = Level.CreateBottomBorder(); 
     52        alaReuna.Restitution = 1.0; 
     53        alareuna.IsVisible = false; 
     54 
     55        oikeaReuna.Restitution = 1.0; 
     56        oikeaReuna.IsVisible = false; 
     57 
    4958        Level.Background.Color = Color.Black; 
    5059 
    5160        Camera.ZoomToLevel(); 
     61 
     62        AddCollisionHandler(pallo, KasittelePallonTormays); 
    5263    } 
    53     PhysicsObject LuoMaila(double x, double y) 
     64        PhysicsObject LuoMaila(double x, double y) 
    5465    { 
    5566        PhysicsObject maila = PhysicsObject.CreateStaticObject(20.0, 100.0); 
     
    6273    } 
    6374 
     75    void AloitaPeli() 
     76    { 
     77        Vector impulssi = new Vector(500.0, 200.0); 
     78        pallo.Hit(impulssi); 
     79    } 
     80 
    6481    void AsetaOhjaimet() 
    6582    { 
    6683        Keyboard.Listen(Key.A, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liikuta mailaa ylös", maila1, nopeusYlos); 
    6784        Keyboard.Listen(Key.A, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 
     85        Keyboard.Listen(Key.Z, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liikuta mailaa alas", maila1, nopeusAlas); 
     86        Keyboard.Listen(Key.Z, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 
    6887 
     88        Keyboard.Listen(Key.Up, ButtonState.Down, AsetaNopeus, "Pelaaja 2: Liikuta mailaa ylös", maila2, nopeusYlos); 
     89        Keyboard.Listen(Key.Up, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 
     90        Keyboard.Listen(Key.Down, ButtonState.Down, AsetaNopeus, "Pelaaja 2: Liikuta mailaa alas", maila2, nopeusAlas); 
     91        Keyboard.Listen(Key.Down, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 
     92 
     93        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet"); 
    6994        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
     95 
     96        ControllerOne.Listen(Button.DPadUp, ButtonState.Down, AsetaNopeus, "Liikuta mailaa ylös", maila1, nopeusYlos); 
     97        ControllerOne.Listen(Button.DPadUp, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 
     98        ControllerOne.Listen(Button.DPadDown, ButtonState.Down, AsetaNopeus, "Liikuta mailaa alas", maila1, nopeusAlas); 
     99        ControllerOne.Listen(Button.DPadDown, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 
     100 
     101        ControllerTwo.Listen(Button.DPadUp, ButtonState.Down, AsetaNopeus, "Liikuta mailaa ylös", maila2, nopeusYlos); 
     102        ControllerTwo.Listen(Button.DPadUp, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 
     103        ControllerTwo.Listen(Button.DPadDown, ButtonState.Down, AsetaNopeus, "Liikuta mailaa alas", maila2, nopeusAlas); 
     104        ControllerTwo.Listen(Button.DPadDown, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 
     105 
     106        ControllerOne.Listen(Button.Back, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
     107        ControllerTwo.Listen(Button.Back, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
    70108    } 
    71109 
    72110    void AsetaNopeus(PhysicsObject maila, Vector nopeus) 
    73111    { 
     112        if ((nopeus.Y < 0) && (maila.Bottom < Level.Bottom)) 
     113        { 
     114            maila.Velocity = Vector.Zero; 
     115            return; 
     116        } 
     117        if ((nopeus.Y > 0) && (maila.Top > Level.Top)) 
     118        { 
     119            maila.Velocity = Vector.Zero; 
     120            return; 
     121        } 
     122 
    74123        maila.Velocity = nopeus; 
    75124    } 
     125 
     126    void LisaaLaskurit() 
     127    { 
     128        pelaajan1Pisteet = LuoPistelaskuri(Screen.Left + 100.0, Screen.Top - 100.0); 
     129        pelaajan2Pisteet = LuoPistelaskuri(Screen.Right - 100.0, Screen.Top - 100.0); 
     130    } 
     131     
     132    IntMeter LuoPistelaskuri(double x, double y) 
     133    { 
     134        IntMeter laskuri = new IntMeter(0); 
     135        laskuri.MaxValue = 10; 
     136 
     137        Label naytto = new Label(); 
     138        naytto.BindTo(laskuri); 
     139        naytto.X = x; 
     140        naytto.Y = y; 
     141        naytto.TextColor = Color.White; 
     142        naytto.BorderColor = Level.Background.Color; 
     143        Add(naytto); 
     144 
     145        return laskuri; 
     146    } 
     147 
     148    void KasittelePallonTormays(PhysicsObject pallo, PhysicsObject kohde) 
     149    { 
     150 
     151    } 
    76152} 
Note: See TracChangeset for help on using the changeset viewer.