Changeset 315


Ignore:
Timestamp:
2009-08-05 15:00:29 (10 years ago)
Author:
josojakk
Message:
 
Location:
joonas_s
Files:
37 added
2 edited

Legend:

Unmodified
Added
Removed
  • joonas_s/Aliohjelma/Peli.cs

    r236 r315  
    2121    public class Peli : RealTimeGame 
    2222    { 
    23         PhysicsObject Luopallo(double sade, int X, int Y) 
     23        PhysicsObject Luopallo(double sade, double X, double Y) 
    2424        { 
    2525            PhysicsObject pallo = new PhysicsObject(10, Shapes.CreateCircle(sade)); 
     
    4141        void PiirraYmpyra() 
    4242        { 
    43             PhysicsObject p3 = Luopallo(10, RandomGen.NextInt(0, 500), RandomGen.NextInt(0, 500)); 
    44             Level.Objects.Add(p3); 
    45              
     43            for (int i = 0; i < 20; i++) 
     44            { 
     45                PhysicsObject p3 = Luopallo(10, RandomGen.NextDouble( Level.Left, Level.Right), RandomGen.NextDouble(Level.Bottom,Level.Top)); 
     46                Level.Objects.Add(p3); 
     47                p3.Color = Color.Yellow; 
     48                if (i > 0) 
     49                { 
     50                    i.Color = Color.Red; 
     51                } 
     52                 
    4653 
     54            } 
    4755        } 
    4856         
  • joonas_s/Pong/Peli.cs

    r236 r315  
    2121    public class Peli : PhysicsGame 
    2222    { 
    23         Vector2D nopeusYlos = new Vector2D(0, 200); 
    24         Vector2D nopeusAlas = new Vector2D(0, -200); 
     23        Vector2D nopeusYlos = new Vector2D(0, 1000); 
     24        Vector2D nopeusAlas = new Vector2D(0, -1000); 
    2525 
    2626        PhysicsObject pallo; 
     
    2828        PhysicsObject maila2; 
    2929 
     30        Meter<int> pelaajan1Pisteet; 
     31        Meter<int> pelaajan2Pisteet; 
     32 
    3033        protected override void LoadContent() 
    3134        { 
    3235            Level = LuoKentta(); 
    3336            AsetaOhjaimet(); 
     37            LisaaLaskurit(); 
    3438            AloitaPeli(); 
    3539        } 
     
    4044            kentta.BackgroundColor = Color.Black; 
    4145 
    42             IShape ympyra = Shapes.CreateCircle(200.0); 
     46            IShape ympyra = Shapes.CreateCircle(20.0); 
    4347            pallo = new PhysicsObject(10.0, ympyra); 
    4448            pallo.X = -200.0; 
    4549            pallo.Y = 0.0; 
    46             pallo.Restitution = 1.1; 
     50            pallo.Color = Color.DarkGoldenrod; 
     51            pallo.Restitution = 1.5; 
    4752            kentta.Objects.Add(pallo); 
     53            AddCollisionHandler(pallo, KasittelePallonTormays); 
    4854 
    4955            maila1 = LuoMaila(kentta.Left + 20.0, 0.0, kentta); 
     
    5763        PhysicsObject LuoMaila(double x, double y, Level kentta) 
    5864        { 
    59             IShape suorakulmio = Shapes.CreateRectangle(20.0, 100.0); 
     65            IShape suorakulmio = Shapes.CreateRectangle(20.0, 200.0); 
    6066            PhysicsObject maila = PhysicsObject.CreateStaticObject(suorakulmio); 
    6167            maila.X = x; 
    6268            maila.Y = y; 
    63             maila.Restitution = 1.1; 
     69            maila.Restitution = 1.5; 
     70            maila.Color = Color.LightGreen; 
    6471            kentta.Objects.Add(maila); 
    6572            return maila; 
    6673        } 
    6774 
     75        void LisaaLaskurit() 
     76        { 
     77            pelaajan1Pisteet = LuoPisteLaskuri(Screen.Left + 100.0, Screen.Top - 100.0); 
     78            pelaajan2Pisteet = LuoPisteLaskuri(Screen.Right - 100.0, Screen.Top - 100.0); 
     79        } 
     80 
     81        Meter<int> LuoPisteLaskuri(double x, double y) 
     82        { 
     83            Meter<int> laskuri = new Meter<int>(0, 0, 10); 
     84            ValueDisplay naytto = new ValueDisplay(this); 
     85            naytto.BindTo(laskuri); 
     86            naytto.X = x; 
     87            naytto.Y = y; 
     88            naytto.ValueColor = Color.White; 
     89            Add(naytto); 
     90            return laskuri; 
     91        } 
     92 
     93        void KasittelePallonTormays(Collision collision) 
     94        { 
     95            PhysicsObject pallo = collision.Obj; 
     96            PhysicsObject kohde = collision.Other; 
     97 
     98            if (kohde == Level.RightBorder) 
     99            { 
     100                pelaajan1Pisteet.Value += 1; 
     101            } 
     102            else if (kohde == Level.LeftBorder) 
     103            { 
     104                pelaajan2Pisteet.Value += 1; 
     105            } 
     106        } 
     107 
    68108        void AloitaPeli() 
    69109        { 
    70             Vector2D impulssi = new Vector2D(20000.0, 2000.0); 
     110            Vector2D impulssi = new Vector2D(5000.0, 2000.0); 
    71111            pallo.Hit(impulssi); 
    72112        } 
     
    118158    } 
    119159} 
    120  
Note: See TracChangeset for help on using the changeset viewer.