Changeset 2490 for 2011/31


Ignore:
Timestamp:
2011-08-02 12:28:10 (8 years ago)
Author:
peossalu
Message:

Talletus.

Location:
2011/31/PeetuL/FysiikkaPeli1
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • 2011/31/PeetuL/FysiikkaPeli1/FysiikkaPeli1/FysiikkaPeli1/King kong ping pong.cs

    r2472 r2490  
    1010{ 
    1111    Vector nopeusYlös = new Vector(0, 200); 
    12     Vector nopeusAlas = new Vector (0,-200); 
     12    Vector nopeusAlas = new Vector(0, -200); 
    1313    PhysicsObject pallo; 
    1414    PhysicsObject maila1; 
    1515    PhysicsObject maila2; 
    16      
    17      
    18     
     16    PhysicsObject vasenReuna; 
     17    PhysicsObject oikeaReuna; 
     18    IntMeter Pelaajan1Pisteet; 
     19    IntMeter Pelaajan2Pisteet; 
     20 
    1921    public override void Begin() 
    2022    { 
     
    2325        AsetaOhjaimet(); 
    2426        Aloitapeli(); 
    25          
     27        LisaaLaskurit(); 
     28        AddCollisionHandler(pallo, KasittelePallonTormays); 
    2629    } 
    27      
     30 
    2831    void LuoKentta() 
    29 { 
     32    { 
     33        MessageDisplay.TextColor = Color.White; 
    3034        pallo = new PhysicsObject(40.0, 40.0); 
    3135        pallo.Shape = Shape.Circle; 
     
    3438        pallo.Y = 00.0; 
    3539        pallo.Restitution = 1.0; 
     40 
    3641        maila1 = LuoMaila(Level.Left + 20.0, 00); 
    37         maila2= LuoMaila(Level.Right- 20.0, 00); 
    38         
    39          
    40         Level.CreateBorders(1.0, false); 
     42        maila2 = LuoMaila(Level.Right - 20.0, 00); 
     43 
     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; 
    4157        Level.BackgroundColor = Color.Black; 
    42          
     58 
    4359        Camera.ZoomToLevel(); 
    4460    } 
     61    void KasittelePallonTormays(PhysicsObject pallo, PhysicsObject kohde) 
     62    { 
     63        if (kohde == oikeaReuna) 
     64        { 
     65            Pelaajan1Pisteet.Value += 1; 
     66        } 
     67        else if (kohde == vasenReuna) 
     68        { 
     69            Pelaajan2Pisteet.Value += 2; 
     70        } 
     71    } 
     72 
     73 
    4574    void Aloitapeli() 
    4675    { 
     
    5786        Add(maila); 
    5887        return maila; 
    59          
     88 
    6089    } 
    6190    void AsetaOhjaimet() 
    6291    { 
    63         Keyboard.Listen(Key.A, ButtonState.Down, AsetaNopeus, "Pelaaja 1:Liikuta mailaa ylös",maila1,nopeusYlös); 
    64         Keyboard.Listen(Key.A, ButtonState.Released, AsetaNopeus, null,maila1,Vector.Zero); 
     92        Keyboard.Listen(Key.A, ButtonState.Down, AsetaNopeus, "Pelaaja 1:Liikuta mailaa ylös", maila1, nopeusYlös); 
     93        Keyboard.Listen(Key.A, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 
    6594        Keyboard.Listen(Key.Z, ButtonState.Down, AsetaNopeus, "Pelaaja 1:Liikuta mailaa alas", maila1, nopeusAlas); 
    6695        Keyboard.Listen(Key.Z, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 
     
    6897        Keyboard.Listen(Key.O, ButtonState.Down, AsetaNopeus, "Pelaaja 2:Liikuta mailaa ylös", maila2, nopeusYlös); 
    6998        Keyboard.Listen(Key.O, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 
    70         Keyboard.Listen(Key.L, ButtonState.Down, AsetaNopeus, "Pelaaja 
    71          
    72          
    73          
    74          
    75          
    76          
    77          
    78          
    79          
    80          
     99        Keyboard.Listen(Key.L, ButtonState.Down, AsetaNopeus, "Pelaaja 2:Liikuta mailaa alas", maila2, nopeusAlas); 
     100        Keyboard.Listen(Key.L, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 
     101        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet"); 
    81102        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Poistu"); 
    82103    } 
    83     void AsetaNopeus(PhysicsObject maila,Vector nopeus) 
     104    void AsetaNopeus(PhysicsObject maila, Vector nopeus) 
    84105    { 
     106        if ((nopeus.Y > 0) && (maila.Top > Level.Top))//Yläreuna 
     107        { 
     108            maila.Velocity = Vector.Zero; 
     109            return; 
     110        } 
     111 
     112        if ((nopeus.Y < 0) && (maila.Bottom < Level.Bottom))//Alareuna 
     113        { 
     114            maila.Velocity = Vector.Zero; 
     115            return; 
     116        } 
     117 
    85118        maila.Velocity = nopeus; 
    86119    } 
    87      
    88      
    89      
     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 
     127    IntMeter LuoPisteLaskuri(double x, double y) 
     128    { 
     129        IntMeter laskuri = new IntMeter(0); 
     130        laskuri.MaxValue = 10; 
     131        Label naytto = new Label(); 
     132        naytto.BindTo(laskuri); 
     133        naytto.X = x; 
     134        naytto.Y = y; 
     135        naytto.TextColor = Color.White; 
     136        naytto.BorderColor = Level.BackgroundColor; 
     137        naytto.Color = Level.BackgroundColor; 
     138        Add(naytto); 
     139        return laskuri; 
     140    } 
    90141} 
Note: See TracChangeset for help on using the changeset viewer.