Ignore:
Timestamp:
2011-06-28 14:23:14 (8 years ago)
Author:
jahebahu
Message:

Talletus.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2011/26/HenriH/Pong/Pong/Pong/Peli.cs

    r2182 r2230  
    1717    PhysicsObject maila2; 
    1818 
     19    PhysicsObject vasenReuna; 
     20    PhysicsObject oikeaReuna; 
     21 
     22    IntMeter pelaajan1Pisteet; 
     23    IntMeter pelaajan2Pisteet; 
     24 
    1925    public override void Begin() 
    2026    { 
     
    2935        pallo = new PhysicsObject(50.0, 50.0); 
    3036        pallo.Shape = Shape.Circle; 
    31         pallo.X = -400.0; 
     37        pallo.X = 0.0; 
    3238        pallo.Y = 0.0; 
    3339        pallo.Restitution = 1.0; 
     40        pallo.KineticFriction = 0.0; 
     41        pallo.MomentOfInertia = Double.PositiveInfinity; 
    3442        pallo.Color = Color.Red; 
    3543        Add(pallo); 
     44 
     45        AddCollisionHandler(pallo, KasittelePallonTormays); 
    3646 
    3747        maila1 = LuoMaila (Level.Left + 20.0, 0.0); 
    3848        maila2 = LuoMaila (Level.Right - 20.0, 0.0); 
    3949 
    40         Level.CreateBorders(1.0, false); 
     50        vasenReuna = Level.CreateLeftBorder(); 
     51        vasenReuna.Restitution = 1.0; 
     52        vasenReuna.IsVisible = false; 
     53 
     54        oikeaReuna = Level.CreateRightBorder(); 
     55        oikeaReuna.Restitution = 1.0; 
     56        oikeaReuna.IsVisible = false; 
     57 
     58        PhysicsObject alaReuna = Level.CreateBottomBorder(); 
     59        alaReuna.Restitution = 1.0; 
     60        alaReuna.IsVisible = false; 
     61 
     62        PhysicsObject ylaReuna = Level.CreateTopBorder(); 
     63        ylaReuna.Restitution = 1.0; 
     64        ylaReuna.IsVisible = false; 
     65 
     66 
    4167        Level.BackgroundColor = Color.White; 
    4268 
     
    4874    void AloitaPeli() 
    4975    { 
    50         Vector impulssi = new Vector(500.0, 250.0); 
     76        Vector impulssi = new Vector(1000.0, 500.0); 
    5177        pallo.Hit(impulssi); 
    5278    } 
     
    5884        maila.Y = y; 
    5985        maila.Restitution = 1.0; 
    60         maila.Color = Color.DarkRed; 
     86        maila.Color = Color.Blue; 
    6187        Add(maila); 
    6288 
     
    109135    void LisaaLaskurit() 
    110136    { 
    111     // 
     137        pelaajan1Pisteet = LuoPisteLaskuri (Screen.Left + 100.0, Screen.Top - 100.0); 
     138        pelaajan2Pisteet = LuoPisteLaskuri(Screen.Right - 100.0, Screen.Top - 100.0); 
    112139    } 
    113140 
    114     IntMeter LuoPisteLaskuri() 
     141    IntMeter LuoPisteLaskuri(double x, double y) 
    115142    { 
    116143        IntMeter laskuri = new IntMeter(0); 
     
    126153        return laskuri; 
    127154    } 
     155    void KasittelePallonTormays(PhysicsObject pallo, PhysicsObject kohde) 
     156    { 
     157        if (kohde == oikeaReuna) 
     158        { 
     159            pelaajan1Pisteet.Value += 1; 
     160        } 
     161        else if (kohde == vasenReuna) 
     162        { 
     163            pelaajan2Pisteet.Value += 1; 
     164        } 
     165    } 
     166 
     167    const double PALLON_NOPEUS = 500; 
     168 
     169    protected override void Update(Time time) 
     170    { 
     171        if (pallo != null && Math.Abs(pallo.Velocity.X) < PALLON_NOPEUS) 
     172        { 
     173            pallo.Velocity = new Vector(pallo.Velocity.X * 1.1, pallo.Velocity.Y); 
     174        } 
     175        base.Update(time); 
     176    } 
    128177} 
Note: See TracChangeset for help on using the changeset viewer.