Changeset 524 for 2010/23/elalylon


Ignore:
Timestamp:
2010-06-08 10:44:10 (9 years ago)
Author:
paaaanro
Message:

Tein Pong-pelin valmiiksi.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2010/23/elalylon/Pong/Peli.cs

    r516 r524  
    1111        PhysicsObject maila1; 
    1212        PhysicsObject maila2; 
     13 
     14        IntMeter pelaajan1Pisteet; 
     15        IntMeter pelaajan2Pisteet; 
     16 
     17        PhysicsObject vasenReuna; 
     18        PhysicsObject oikeaReuna; 
     19 
    1320        protected override void Begin() 
    1421        { 
     
    1623            AloitaPeli(); 
    1724            AsetaOhjaimet(); 
     25            LisaaLaskurit(); 
    1826        } 
    1927        void LuoKentta() 
     
    2937            maila2 = LuoMaila(Level.Right - 20.0, 0.0); 
    3038 
     39            vasenReuna = Level.CreateLeftBorder(); 
     40            vasenReuna.Restitution = 1.0; 
     41            vasenReuna.IsVisible = false; 
    3142 
    32             Level.CreateBorders(1,false); 
     43            PhysicsObject ylaReuna = Level.CreateTopBorder(); 
     44            ylaReuna.Restitution = 1.0; 
     45            ylaReuna.IsVisible = false; 
     46 
     47            oikeaReuna = Level.CreateRightBorder(); 
     48            oikeaReuna.Restitution = 1.0; 
     49            oikeaReuna.IsVisible = false; 
     50 
     51            PhysicsObject alaReuna = Level.CreateBottomBorder(); 
     52            alaReuna.Restitution = 1.0; 
     53            alaReuna.IsVisible = false; 
     54 
    3355            Level.BackgroundColor = Color.Black; 
    3456            Camera.ZoomToLevel(); 
     57 
     58            AddCollisionHandler(pallo, KasittelePallonTormays); 
     59        } 
     60        void KasittelePallonTormays(PhysicsObject pallo, PhysicsObject kohde) 
     61        { 
     62            if (kohde == vasenReuna) 
     63            { 
     64                if (pelaajan1Pisteet.Value == 9) 
     65                { 
     66                    AloitaPeliUudelleen(); 
     67                    return; 
     68                } 
     69                pelaajan1Pisteet.Value += 1; 
     70            } 
     71            else if (kohde == oikeaReuna) 
     72            { 
     73                if (pelaajan2Pisteet.Value == 9) 
     74                { 
     75                    AloitaPeliUudelleen(); 
     76                    return; 
     77                } 
     78                pelaajan2Pisteet.Value += 1; 
     79            } 
    3580        } 
    3681        PhysicsObject LuoMaila(double x, double y) 
     
    4489            return maila; 
    4590        } 
     91        void LisaaLaskurit() 
     92        { 
     93            pelaajan1Pisteet = LuoPisteLaskuri(Screen.Left + 100.0, Screen.Top - 100.0); 
     94            pelaajan2Pisteet = LuoPisteLaskuri(Screen.Right - 100.0, Screen.Top - 100.0); 
     95        } 
     96        IntMeter LuoPisteLaskuri(double x, double y) 
     97        { 
     98            IntMeter laskuri = new IntMeter(0); 
     99            laskuri.MaxValue = 10; 
     100            ValueDisplay naytto = new ValueDisplay(); 
     101            naytto.BindTo(laskuri); 
     102            naytto.X = x; 
     103            naytto.Y = y; 
     104            naytto.ValueColor = Color.White; 
     105            Add(naytto); 
     106            return laskuri; 
     107        } 
     108 
     109 
    46110        void AsetaOhjaimet() 
    47111        { 
     
    67131                return; 
    68132            } 
    69             Vector nopeus = new Vector(0, 200); 
     133            Vector nopeus = new Vector(0, 300); 
    70134            maila.Velocity = nopeus; 
    71135        } 
     
    77141                return; 
    78142            } 
    79             Vector nopeus = new Vector(0, -200); 
     143            Vector nopeus = new Vector(0, -300); 
    80144            maila.Velocity = nopeus; 
    81145        } 
     
    105169        void AloitaPeli() 
    106170        { 
    107             Vector impulssi = new Vector(500.0, 0.0); 
     171            Vector impulssi = new Vector(750.0, 0.0); 
    108172            pallo.Hit(impulssi); 
    109173        } 
     
    115179            Vector impulssi = new Vector(500.0, 0.0); 
    116180            pallo.Hit(impulssi); 
     181            pelaajan1Pisteet.Value = 0; 
     182            pelaajan2Pisteet.Value = 0; 
    117183        } 
    118  
    119184    } 
    120185} 
Note: See TracChangeset for help on using the changeset viewer.