Changeset 2961 for 2012/24


Ignore:
Timestamp:
2012-06-12 14:40:25 (7 years ago)
Author:
sijoseha
Message:

Talletus.

Location:
2012/24/TatuS
Files:
63 added
7 edited

Legend:

Unmodified
Added
Removed
  • 2012/24/TatuS/Pong/Pong/Pong/Pong.cs

    r2917 r2961  
    1313 
    1414    PhysicsObject Pallo; 
    15  
    1615    PhysicsObject maila1; 
    1716    PhysicsObject maila2; 
     17 
     18    PhysicsObject vasenreuna; 
     19    PhysicsObject oikeareuna; 
     20 
     21    IntMeter pelaajan1Pisteet; 
     22    IntMeter pelaajan2Pisteet; 
     23     
    1824    public override void Begin() 
    1925    { 
    2026        LuoKentta(); 
    2127        AsetaOhjaimet(); 
     28        LisaaLaskurit(); 
    2229        AloitaPeli(); 
     30 
     31         
    2332 
    2433        // TODO: Kirjoita ohjelmakoodisi tähän 
     
    3039    void LuoKentta() 
    3140    { 
    32         Pallo = new PhysicsObject(100, 100); 
    33         Add(Pallo); 
     41        Pallo = new PhysicsObject(100, 100);    
    3442        Pallo.Shape = Shape.Circle; 
    35         Level.CreateBorders(1.0, false); 
     43         
     44        vasenreuna = Level.CreateLeftBorder(); 
     45        vasenreuna.Restitution = 1.0; 
     46        vasenreuna.IsVisible = false; 
     47 
     48        oikeareuna = Level.CreateRightBorder(); 
     49        oikeareuna.Restitution = 1.0; 
     50        oikeareuna.IsVisible = false; 
     51 
     52        PhysicsObject alareuna = Level.CreateBottomBorder(); 
     53        alareuna.Restitution =1.0; 
     54        alareuna.IsVisible = false; 
     55 
     56        PhysicsObject ylareuna = Level.CreateTopBorder(); 
     57        ylareuna.Restitution = 1.0; 
     58        ylareuna.IsVisible = false; 
     59 
     60 
    3661        Level.BackgroundColor = Color.Cyan; 
    3762        Camera.ZoomToLevel(); 
    3863        Pallo.Restitution = 1.0; 
     64        Add(Pallo); 
     65 
     66        AddCollisionHandler(Pallo, KasittelePallonTormays); 
    3967 
    4068        maila1 = LuoMaila(Level.Left + 20.0, 0.0); 
     
    5684        maila.Restitution = 1.0; 
    5785        Add(maila); 
     86 
    5887        return maila; 
    5988    } 
     
    6291        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli"); 
    6392        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
    64         Keyboard.Listen(Key.A, ButtonState.Down, LiikutaMailaaYlos, "Pelaaja 1: Liikuta Mailaa Ylös", maila1, nopeusylos); 
    65         Keyboard.Listen(Key.A, ButtonState.Released, Pysaytamaila, null, maila1, Vector.Zero); 
    66         Keyboard.Listen(Key.Z, ButtonState.Down, Asetanopeus, "Pelaaja 1: Liikuta Mailaa Alas", maila1, nopeusalas); 
     93        Keyboard.Listen(Key.A, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liikuta Mailaa Ylös", maila1, nopeusylos); 
     94        Keyboard.Listen(Key.A, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 
     95        Keyboard.Listen(Key.Z, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liikuta Mailaa Alas", maila1, nopeusalas); 
    6796        Keyboard.Listen(Key.Z, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero ); 
    6897         
    69         Keyboard.Listen(Key.Up, ButtonState.Down, AsetaNopeus, "Pelaaja 2: Liikuta mailaa ylös", maila2, nopeusYlos ); 
    70         Keyboard.Listen(Key.Up, ButtonState.Released, AsetaNopeus, null,  
     98        Keyboard.Listen(Key.Up, ButtonState.Down, AsetaNopeus, "Pelaaja 2: Liikuta mailaa ylös", maila2, nopeusylos ); 
     99        Keyboard.Listen(Key.Up, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 
     100        Keyboard.Listen(Key.Down, ButtonState.Down, AsetaNopeus, "Pelaaja 2: liikuta Mailaa Alas", maila2, nopeusalas); 
     101        Keyboard.Listen(Key.Down, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 
     102        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä Ohjeet"); 
    71103 
    72     void AsetaNopeus(PhysicsObject maila, Vector nopeus) 
     104 
     105    } 
     106    void AsetaNopeus( PhysicsObject maila, Vector nopeus) 
    73107    { 
     108        if ((nopeus.Y < 0) && (maila.Bottom < Level.Bottom)) 
     109        { 
     110            maila.Velocity = Vector.Zero; 
     111            return; 
     112        } 
     113        if (( nopeus.Y > 0) && (maila.Top > Level.Top)) 
     114 
     115        { 
     116            maila.Velocity = Vector.Zero; 
     117            return; 
     118            } 
    74119        maila.Velocity = nopeus;  
     120    } 
     121        void LisaaLaskurit() 
     122        { 
     123            pelaajan1Pisteet = LuoPisteLaskuri(Screen.Left + 100.0, Screen.Top - 100.0); 
     124            pelaajan2Pisteet = LuoPisteLaskuri(Screen.Right - 100.0, Screen.Top - 100.0); 
     125        } 
     126        IntMeter LuoPisteLaskuri(double x, double y) 
     127        { 
     128            IntMeter laskuri = new IntMeter(0); 
     129            laskuri.MaxValue = 10; 
     130            Label naytto = new Label(); 
     131            naytto.BindTo(laskuri); 
     132            naytto.X = x; 
     133            naytto.Y = y; 
     134            naytto.TextColor = Color.Black; 
     135            naytto.BorderColor = Level.BackgroundColor; 
     136            naytto.Color = Level.BackgroundColor; 
     137            Add(naytto); 
     138            return laskuri; 
     139        } 
     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        } 
     152 
    75153    } 
    76154 
    77155 
    78 } 
     156 
Note: See TracChangeset for help on using the changeset viewer.