Changeset 2500


Ignore:
Timestamp:
2011-08-02 14:57:29 (8 years ago)
Author:
tenituun
Message:

Talletus.

Location:
2011/31/TeemuT
Files:
14 added
6 edited

Legend:

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

    r2467 r2500  
    1414    PhysicsObject maila1; 
    1515    PhysicsObject maila2; 
     16    PhysicsObject vasenReuna; 
     17    PhysicsObject oikeaReuna; 
     18 
     19 
     20    IntMeter pelaajan1Pisteet; 
     21    IntMeter pelaajan2Pisteet; 
     22 
    1623    public override void Begin() 
    1724    { 
     
    2128        AloitaPeli(); 
    2229        // TODO: Kirjoita ohjelmakoodisi tähän 
    23          
     30 
    2431 
    2532 
     
    2936        pallo = new PhysicsObject(40.0, 40.0); 
    3037        Add(pallo); 
    31         Level.CreateBorders(1.0, false); 
     38        AddCollisionHandler(pallo, KasittelePallonTormaus); 
     39        vasenReuna = Level.CreateLeftBorder(); 
     40        vasenReuna.Restitution = 1.0; 
     41        vasenReuna.IsVisible = false; 
     42 
     43 
     44        oikeaReuna = Level.CreateRightBorder(); 
     45        oikeaReuna.Restitution = 1.0; 
     46        oikeaReuna.IsVisible = false; 
     47        PhysicsObject alaReuna = Level.CreateBottomBorder(); 
     48        alaReuna.Restitution = 1.0; 
     49        alaReuna.IsVisible = false; 
     50        PhysicsObject ylaReuna = Level.CreateTopBorder(); 
     51        ylaReuna.Restitution = 1.0; 
     52        ylaReuna.IsVisible = false; 
     53 
    3254        Level.BackgroundColor = Color.Black; 
    3355        pallo.X = -200.0; 
     
    3860        maila1 = LuoMaila(Level.Left + 20.0, 0.0); 
    3961        maila2 = LuoMaila(Level.Right - 20.0, 0.0); 
     62 
    4063        MessageDisplay.TextColor = Color.White; 
    4164 
     
    4972    } 
    5073 
    51         PhysicsObject LuoMaila(double x, double y) 
     74    PhysicsObject LuoMaila(double x, double y) 
    5275    { 
    5376        PhysicsObject maila = PhysicsObject.CreateStaticObject(20.0, 100.0); 
     
    77100    } 
    78101 
    79     void AsetaNopeus(PhysicsObject maila, Vector nopeus ) 
     102    void AsetaNopeus(PhysicsObject maila, Vector nopeus) 
    80103    { 
    81104        maila.Velocity = nopeus; 
    82105 
    83         if ( ( nopeus.Y < 0) && (maila.Bottom < Level.Bottom) ) 
     106        if ((nopeus.Y < 0) && (maila.Bottom < Level.Bottom)) 
    84107        { 
    85         maila.Velocity = Vector.Zero; 
    86         }           
    87          
    88         if ( (nopeus.Y > 0) && (maila.Top > Level.Top) ) 
     108            maila.Velocity = Vector.Zero; 
     109        } 
     110 
     111        if ((nopeus.Y > 0) && (maila.Top > Level.Top)) 
    89112        { 
    90113            maila.Velocity = Vector.Zero; 
    91114        } 
    92115    } 
    93            void LisaaLaskurit() 
    94            { 
    95            } 
    96  
    97            IntMeter LuoPisteLaskuri(double x, double y) 
    98 { 
    99     IntMeter laskuri = new IntMeter( 0 ); 
    100     laskuri.MaxValue = 10; 
    101     return laskuri; 
    102 } 
     116    void LisaaLaskurit() 
     117    { 
     118        pelaajan1Pisteet = LuoPisteLaskuri(Screen.Left + 100.0, Screen.Top - 100.0); 
     119        pelaajan2Pisteet = LuoPisteLaskuri(Screen.Right - 100.0, Screen.Top - 100.0); 
    103120 
    104121 
     122    } 
    105123 
     124    IntMeter LuoPisteLaskuri(double x, double y) 
     125    { 
     126        IntMeter laskuri = new IntMeter(0); 
     127        laskuri.MaxValue = 10; 
     128        Label naytto = new Label(); 
     129        naytto.BindTo(laskuri); 
     130        naytto.X = x; 
     131        naytto.Y = y; 
     132        naytto.TextColor = Color.White; 
     133        naytto.BorderColor = Level.BackgroundColor; 
     134        naytto.Color = Level.BackgroundColor; 
     135        Add(naytto); 
     136 
     137        return laskuri; 
     138    } 
     139 
     140 
     141    void KasittelePallonTormaus(PhysicsObject pallo, PhysicsObject kohde) 
     142    { 
     143        if (kohde == oikeaReuna) 
     144        { 
     145            pelaajan1Pisteet.Value += 1; 
     146        } 
     147 
     148        else if (kohde == vasenReuna) 
     149        { 
     150            pelaajan2Pisteet.Value += 1; 
     151        } 
     152    } 
     153} 
Note: See TracChangeset for help on using the changeset viewer.