Changeset 2512


Ignore:
Timestamp:
2011-08-02 15:01:58 (8 years ago)
Author:
onpernu
Message:

Talletus.

Location:
2011/31/OnniP
Files:
66 added
6 edited

Legend:

Unmodified
Added
Removed
  • 2011/31/OnniP/Pong/Pong/Peli.cs

    r2473 r2512  
    1717    PhysicsObject maila2; 
    1818 
     19    PhysicsObject vasenReuna; 
     20    PhysicsObject oikeaReuna; 
     21 
     22    IntMeter pelaajan1Pisteet; 
     23    IntMeter pelaajan2Pisteet; 
     24 
    1925    public override void Begin() 
    2026    { 
    2127        LuoKenttä(); 
    2228        AsetaOhjaimet(); 
     29        Lisaalaskurit(); 
    2330        Aloitapeli(); 
    2431 
     
    3239        pallo.X = -200.0; 
    3340        pallo.Y = 0.0; 
    34         Level.CreateBorders(1.0, false); 
     41        pallo.KineticFriction = 0; 
     42        vasenReuna = Level.CreateLeftBorder(); 
     43        vasenReuna.Restitution = 1.0; 
     44        vasenReuna.KineticFriction = 0; 
     45        vasenReuna.IsVisible = false; 
     46        oikeaReuna = Level.CreateRightBorder(); 
     47        oikeaReuna.Restitution = 1.0; 
     48        oikeaReuna.IsVisible = false; 
     49        oikeaReuna.KineticFriction = 0; 
     50        PhysicsObject alaReuna = Level.CreateBottomBorder(); 
     51        alaReuna.Restitution = 1.0; 
     52        alaReuna.IsVisible = false; 
     53        alaReuna.KineticFriction = 0; 
     54        PhysicsObject yläReuna = Level.CreateTopBorder(); 
     55        yläReuna.Restitution = 1.0; 
     56        yläReuna.IsVisible = false; 
     57        yläReuna.KineticFriction = 0; 
     58        pallo.CanRotate = false; 
     59 
     60             
     61 
    3562        pallo.Restitution = 1.0; 
    3663        Level.BackgroundColor = Color.Black; 
    3764        Camera.ZoomToLevel(); 
    3865        maila1 = LuoMaila(Level.Left + 20.0, 0.0); 
     66        maila1.KineticFriction = 0; 
    3967        maila2 = LuoMaila(Level.Right - 20.0, 0.0); 
     68        maila2.KineticFriction = 0; 
    4069        MessageDisplay.TextColor = Color.ForestGreen; 
     70        AddCollisionHandler(pallo, KasittelePallonTormays); 
     71 
    4172    } 
    4273    void Aloitapeli() 
    4374    { 
    44         Vector impulssi = new Vector(900.0, 0.0); 
     75        Vector impulssi = new Vector(1100.0, 0.0); 
    4576        pallo.Hit(impulssi); 
    4677    } 
     
    6697        Keyboard.Listen(Key.Up, ButtonState.Down, AsetaNopeus, "Pelaaja 2: Liikuta mailaa ylös", maila2, nopeusYlos); 
    6798        Keyboard.Listen(Key.Up, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 
    68         Keyboard.Listen(Key.Down, ButtonState.Pressed, AsetaNopeus, "Pelaaja 2: Liikuta mailaa alas", maila2, nopeusAlas); 
     99        Keyboard.Listen(Key.Down, ButtonState.Down, AsetaNopeus, "Pelaaja 2: Liikuta mailaa alas", maila2, nopeusAlas); 
    69100        Keyboard.Listen(Key.Down, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 
    70101 
     
    79110        } 
    80111 
    81         if ( (nopeus.Y > 0) && (maila.Top > Level.Top)) 
     112        if ((nopeus.Y > 0) && (maila.Top > Level.Top)) 
    82113        { 
    83114            maila.Velocity = Vector.Zero; 
     
    86117        maila.Velocity = nopeus; 
    87118    } 
     119 
     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 
     128    IntMeter LuoPisteLaskuri(double x, double y) 
     129    { 
     130        IntMeter laskuri = new IntMeter(0); 
     131        laskuri.MaxValue = 10; 
     132        Label naytto = new Label(); 
     133        naytto.BindTo(laskuri); 
     134        naytto.X = x; 
     135        naytto.Y = y; 
     136        naytto.TextColor = Color.White; 
     137        naytto.BorderColor = Level.BackgroundColor; 
     138        naytto.Color = Level.BackgroundColor; 
     139        Add(naytto); 
     140        return laskuri; 
     141 
     142    } 
     143 
     144    void KasittelePallonTormays(PhysicsObject pallo, PhysicsObject kohde) 
     145    { 
     146        if (kohde == oikeaReuna) 
     147        { 
     148            pelaajan1Pisteet.Value += 1; 
     149        } 
     150 
     151        else if (kohde == vasenReuna) 
     152        { 
     153            pelaajan2Pisteet.Value += 1; 
     154 
     155        } 
     156    } 
    88157} 
    89158 
     159 
     160 
     161 
     162 
     163 
    90164  
Note: See TracChangeset for help on using the changeset viewer.