Changeset 8837


Ignore:
Timestamp:
2017-07-03 14:07:24 (2 years ago)
Author:
npo17_52
Message:

valmis

Location:
2017/27/JohannesP/pong
Files:
3 added
6 edited

Legend:

Unmodified
Added
Removed
  • 2017/27/JohannesP/pong/pong/pong/pong.cs

    r8822 r8837  
    1313 
    1414    PhysicsObject pallo; 
    15  
    1615    PhysicsObject maila1; 
    1716    PhysicsObject maila2; 
     17    PhysicsObject vasenReuna; 
     18    PhysicsObject oikeaReuna; 
     19     
     20    IntMeter pelaajan1Pisteet; 
     21    IntMeter pelaajan2Pisteet; 
    1822 
     23    const double PALLON_MIN_NOPEUS = 500; 
     24 
     25    protected override void Update(Time time) 
     26    { 
     27        if (pallo != null && Math.Abs(pallo.Velocity.X) < PALLON_MIN_NOPEUS) 
     28        { 
     29            pallo.Velocity = new Vector(pallo.Velocity.X * 1.1, pallo.Velocity.Y); 
     30        } 
     31        base.Update(time); 
     32    } 
    1933    public override void Begin() 
    2034    { 
     
    3852        pallo.Restitution = 1.0; 
    3953        Add(pallo); 
    40  
     54        AddCollisionHandler(pallo, KasittelePallonTormays); 
    4155        maila1 = LuoMaila(Level.Left + 20.0, 0.0); 
    4256        maila2 = LuoMaila(Level.Right - 20.0, 0.0); 
    4357 
    44          
    4558 
    4659 
    47         Level.CreateBorders(1.0, false); 
     60        vasenReuna = Level.CreateLeftBorder(); 
     61        vasenReuna.Restitution = 1.0; 
     62        vasenReuna.IsVisible = false; 
     63 
     64        oikeaReuna = Level.CreateRightBorder(); 
     65        oikeaReuna.Restitution = 1.0; 
     66        oikeaReuna.KineticFriction = 0.0; 
     67        oikeaReuna.IsVisible = false; 
     68 
     69        PhysicsObject ylaReuna = Level.CreateTopBorder(); 
     70        ylaReuna.Restitution = 1.0; 
     71        ylaReuna.KineticFriction = 0.0; 
     72        ylaReuna.IsVisible = false; 
     73 
     74        PhysicsObject alaReuna = Level.CreateBottomBorder(); 
     75        alaReuna.Restitution = 1.0; 
     76        alaReuna.IsVisible = false; 
     77        alaReuna.KineticFriction = 0.0; 
     78 
     79 
     80 
    4881        Level.Background.Color = Color.Black; 
    4982 
     
    104137    void LisaaLaskurit() 
    105138    { 
     139        pelaajan1Pisteet = LuoPisteLaskuri(Screen.Left + 100.0, Screen.Top - 100.0); 
     140        pelaajan2Pisteet = LuoPisteLaskuri(Screen.Right - 100.0, Screen.Top - 100.0); 
    106141 
    107142    } 
     143    IntMeter LuoPisteLaskuri(double x, double y) 
     144    { 
     145        IntMeter laskuri = new IntMeter(0); 
     146        laskuri.MaxValue = 10; 
     147 
     148        Label naytto = new Label(); 
     149        naytto.BindTo(laskuri); 
     150        naytto.X = x; 
     151        naytto.Y = y; 
     152        naytto.TextColor = Color.White; 
     153        naytto.BorderColor = Level.Background.Color; 
     154        naytto.Color = Level.Background.Color; 
     155        Add(naytto); 
     156 
     157        return laskuri; 
     158 
     159 
     160 
     161    } 
     162    void KasittelePallonTormays(PhysicsObject pallo, PhysicsObject kohde) 
     163    { 
     164        if (kohde == oikeaReuna) 
     165        { 
     166            pelaajan1Pisteet.Value += 1; 
     167        } 
     168        else if (kohde == vasenReuna) 
     169            pelaajan2Pisteet.Value += 1; 
     170    } 
    108171} 
Note: See TracChangeset for help on using the changeset viewer.