Changeset 58


Ignore:
Timestamp:
2009-07-21 11:34:38 (11 years ago)
Author:
akjuhesa
Message:

lelelelel

File:
1 edited

Legend:

Unmodified
Added
Removed
  • lauri_s/pong/Peli.cs

    r29 r58  
    2121    public class Peli : PhysicsGame 
    2222    { 
     23        const double mailanNopeus = 700.0; 
    2324        PhysicsObject pallo; 
    2425        PhysicsObject maila1; 
    2526        PhysicsObject maila2; 
     27 
     28        Meter<int> pelaajan1Pisteet; 
     29        Meter<int> pelaajan2Pisteet; 
    2630 
    2731        protected override void LoadContent() 
     
    2933            Level = Luokentta(); 
    3034            Asetaohjaimet(); 
     35            LisaaLaskuri(); 
    3136            Aloitapeli(); 
    3237        } 
     
    3641            kentta.BackgroundColor = Color.Black; 
    3742 
    38             IShape ympyra = Shapes.CreateCircle(20.0); 
     43            IShape ympyra = Shapes.CreateCircle(30.0); 
    3944            pallo = new PhysicsObject(10.0, ympyra); 
    4045            pallo.X = -200.0; 
     
    4247            pallo.Restitution = 2.0; 
    4348            kentta.Objects.Add(pallo); 
     49 
     50            AddCollisionHandler(pallo, KasittelePallonTormays); 
    4451 
    4552            maila1 = Luomaila(kentta.Left + 20.0, 0.0, kentta); 
     
    5663            pallo.Hit(impulssi); 
    5764        } 
     65 
    5866        PhysicsObject Luomaila(double x, double y, Level kentta) 
    5967        { 
     
    6674            return maila; 
    6775        } 
     76 
    6877        void Asetaohjaimet() 
    6978        { 
    70             Controls.Listen(Keys.A, ButtonPosition.Down, LiikutaMailaaYlos, "1337 1: Liikuta mailaa ylös", maila1); 
    71             Controls.Listen(Keys.Z, ButtonPosition.Down, LiikutaMailaaAlas, "1337 1: Liikuta mailaa alas", maila1); 
     79            Controls.Listen(Keys.A, ButtonPosition.Down, LiikutaMailaa, "1337 1: Liikuta mailaa ylös", maila1, mailanNopeus); 
     80            Controls.Listen(Keys.Z, ButtonPosition.Down, LiikutaMailaa, "1337 1: Liikuta mailaa alas", maila1, -mailanNopeus); 
    7281 
    73             Controls.Listen(Keys.Up, ButtonPosition.Down, LiikutaMailaaYlos, "1337 2: Liikuta mailaa ylös", maila2); 
    74             Controls.Listen(Keys.Down, ButtonPosition.Down, LiikutaMailaaAlas, "1337 2: Liikuta mailaa alas", maila2); 
     82            Controls.Listen(Keys.Up, ButtonPosition.Down, LiikutaMailaa, "1337 2: Liikuta mailaa ylös", maila2, mailanNopeus); 
     83            Controls.Listen(Keys.Down, ButtonPosition.Down, LiikutaMailaa, "1337 2: Liikuta mailaa alas", maila2, -mailanNopeus); 
     84            Control.Listen(Keys.Enter, ButtonPosition.Pressed, Tonaise, "liikuttaa mailaa ylös", pallo); 
    7585        } 
    76         bool LiikutaMailaaYlos(ControlEvent e) 
     86 
     87        bool LiikutaMailaa(ControlEvent e) 
    7788        { 
    7889            PhysicsObject maila = e.Parameter0.ToPhysicsObject(); 
    79             double nopeus = 200.0; 
     90            double nopeus = e.Parameter1.ToDouble(); 
    8091            double sekuntejaKulunut = e.Time.ElapsedGameTime.TotalSeconds; 
    81             if (maila.Y < Level.Top) 
     92            double uusiY = maila.Y + nopeus * sekuntejaKulunut; 
     93            if ((uusiY < Level.Top) && (uusiY > Level.Bottom)) 
    8294            { 
    83                 maila.Y += nopeus * sekuntejaKulunut; 
     95                maila.Y = uusiY; 
    8496            } 
    8597            return false; 
    8698        } 
    87         bool LiikutaMailaaAlas(ControlEvent e) 
     99 
     100        void LisaaLaskuri() 
    88101        { 
    89             PhysicsObject maila = e.Parameter0.ToPhysicsObject(); 
    90             maila.Y += -10.0; 
    91             return false; 
     102            double x1 = Screen.Left + 100.0; 
     103            double y1 = Screen.Top - 100.0; 
     104            pelaajan1Pisteet = LuoPisteLaskuri(x1, y1); 
     105 
     106            double x2 = Screen.Right - 100.0; 
     107            double y2 = Screen.Top - 100.0; 
     108            pelaajan2Pisteet = LuoPisteLaskuri(x2, y2); 
     109 
    92110        } 
     111        Meter<int> LuoPisteLaskuri(double x, double y) 
     112        { 
     113            Meter<int> laskuri = new Meter<int>(0, 0, 100); 
     114            ValueDisplay naytto = new ValueDisplay(this); 
     115            naytto.BindTo(laskuri); 
     116            naytto.X = x; 
     117            naytto.Y = y; 
     118            naytto.ValueColor = Color.White; 
     119            Add(naytto); 
     120            return laskuri; 
     121        } 
     122 
     123        void KasittelePallonTormays(Collision collision) 
     124        { 
     125            PhysicsObject pallo = collision.Obj; 
     126            PhysicsObject kohde = collision.Other; 
     127 
     128            if (kohde == Level.RightBorder) 
     129            { 
     130                pelaajan1Pisteet.Value += 1; 
     131            } 
     132 
     133            else if (kohde == Level.LeftBorder) 
     134            { 
     135                pelaajan2Pisteet.Value += 1; 
     136            } 
     137 
     138        } 
     139 
     140        void Tonaise(ControlEvent e) 
     141        { 
     142            if () 
     143        } 
     144 
    93145 
    94146    } 
Note: See TracChangeset for help on using the changeset viewer.