Changeset 7805


Ignore:
Timestamp:
2016-07-05 15:00:46 (3 years ago)
Author:
karkaite
Message:
 
Location:
2016/27/EmiliaM/PongLong
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • 2016/27/EmiliaM/PongLong/PongLong/PongLong/PongLong.cs

    r7710 r7805  
    1717    PhysicsObject maila2; 
    1818 
     19    PhysicsObject vasenReuna; 
     20    PhysicsObject oikeaReuna; 
     21 
     22    IntMeter pelaajan1Pisteet; 
     23    IntMeter pelaajan2Pisteet; 
     24 
     25 
     26 
    1927    public override void Begin() 
    2028    { 
    2129        LuoKentta(); 
    2230        AsetaOhjaimet(); 
     31        LisaaLaskurit(); 
    2332        AloitaPeli(); 
    2433        
     
    4453 
    4554        pallo.Restitution = 1.0; 
     55        AddCollisionHandler(pallo, KasittelePallonTormays); 
     56 
    4657 
    4758        maila1 = LuoMaila(Level.Right - 20.0, 0.0); 
    4859        maila2 = LuoMaila(Level.Left + 20.0, 0.0); 
    49         
    50         Level.CreateBorders(1.0, false); 
     60 
     61        vasenReuna = Level.CreateLeftBorder(); 
     62        vasenReuna.Restitution = 1.0; 
     63        vasenReuna.IsVisible = false; 
     64        oikeaReuna = Level.CreateRightBorder(); 
     65        oikeaReuna.Restitution = 1.0; 
     66        oikeaReuna.IsVisible = false; 
     67        PhysicsObject alaReuna = Level.CreateBottomBorder(); 
     68        alaReuna.Restitution = 1.0; 
     69        alaReuna.IsVisible = false; 
     70        PhysicsObject ylaReuna = Level.CreateTopBorder(); 
     71        ylaReuna.Restitution = 1.0; 
     72        ylaReuna.IsVisible = false; 
     73 
    5174        Level.Background.Color = Color.Red; 
    5275    } 
     
    82105        Keyboard.Listen(Key.Up, ButtonState.Down, AsetaNopeus, "Pelaaja 2: Liikuta mailaa ylös", maila2, nopeusYlos); 
    83106        Keyboard.Listen(Key.Up, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 
    84         Keyboard.Listen(Key.Down, ButtonState.Down, AsetaNopeus, "Pelaaja 2: Liikuta mailaa alas", maila2, Vector.Zero); 
    85         Keyboard.Listen(Key.Down, ButtonState.Released, AsetaNopeus, null, maila2, nopeusAlas); 
     107        Keyboard.Listen(Key.Down, ButtonState.Down, AsetaNopeus, "Pelaaja 2: Liikuta mailaa alas", maila2, nopeusAlas); 
     108        Keyboard.Listen(Key.Down, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 
    86109 
    87110        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet"); 
     
    92115    void AsetaNopeus(PhysicsObject maila, Vector nopeus) 
    93116    { 
     117        if ((nopeus.Y < 0) && (maila.Bottom < Level.Bottom)) 
     118        { 
     119            maila.Velocity = Vector.Zero; 
     120            return; 
     121        } 
     122        if ((nopeus.Y > 0) && (maila.Top > Level.Top)) 
     123        { 
     124            maila.Velocity = Vector.Zero; 
     125            return; 
     126        } 
    94127        maila.Velocity = nopeus; 
     128 
    95129    } 
    96   
     130 
     131    void LisaaLaskurit() 
     132    { 
     133        pelaajan1Pisteet = LuoPisteLaskuri(Screen.Left + 100.0, Screen.Top - 100.0); 
     134        pelaajan2Pisteet = LuoPisteLaskuri(Screen.Right - 100.0, Screen.Top - 100.0); 
     135    } 
     136 
     137    IntMeter LuoPisteLaskuri(double x, double y) 
     138    { 
     139        IntMeter laskuri = new IntMeter(0); 
     140        laskuri.MaxValue = 10; 
     141 
     142        Label naytto = new Label(); 
     143        naytto.BindTo(laskuri); 
     144        naytto.X = x; 
     145        naytto.Y = y; 
     146        naytto.TextColor = Color.White; 
     147        naytto.BorderColor = Level.Background.Color; 
     148        naytto.Color = Level.Background.Color; 
     149        Add(naytto); 
     150 
     151        return laskuri; 
     152    } 
     153     
     154    void KasittelePallonTormays(PhysicsObject pallo, PhysicsObject kohde) 
     155    { 
     156        if (kohde == oikeaReuna) 
     157        { 
     158            pelaajan1Pisteet.Value += 1; 
     159        } 
     160        else if (kohde == vasenReuna) 
     161        { 
     162            pelaajan2Pisteet.Value += 1; 
     163        } 
     164    } 
     165 
    97166 
    98167} 
Note: See TracChangeset for help on using the changeset viewer.