Changeset 46 for aki_s/Pong/Peli.cs


Ignore:
Timestamp:
2009-07-21 11:30:36 (14 years ago)
Author:
akjuhesa
Message:

Kaikki paitsi pistelaskuri toimii, se ei vain näy

File:
1 edited

Legend:

Unmodified
Added
Removed
  • aki_s/Pong/Peli.cs

    r28 r46  
    2525        PhysicsObject maila2; 
    2626 
    27         bool LiikutaMailaaYlos(ControlEvent e) 
     27        bool LiikutaMailaa(ControlEvent e) 
    2828        { 
    29             PhysicsObject maila = e.Parameter0.ToPhysicsObject(); 
    30             maila.Y += 100.0; 
    31             if (maila.Y < Level.Top) 
     29            PhysicsObject maila = e.Parameter0.ToPhysicsObject();       
     30            double nopeus = e.Parameter1.ToDouble(); 
     31            double sekuntejaKulunut = e.Time.ElapsedGameTime.TotalSeconds; 
     32            double uusiY = maila.Y + nopeus * sekuntejaKulunut; 
     33 
     34            if ((Level.Bottom < uusiY) && (uusiY < Level.Top)) 
    3235            { 
    33                 maila.Y += 10.0; 
     36                maila.Y = uusiY; 
    3437            } 
    3538 
    3639            return false; 
    3740        } 
    38         bool LiikutaMailaaAlas(ControlEvent e) 
    39         { 
    40             PhysicsObject maila = e.Parameter0.ToPhysicsObject(); 
    41             maila.Y += -100.0; 
    42             if (maila.Y < Level.Top) 
    43             { 
    44                 maila.Y += 10.0; 
    45             } 
    46  
    47             return false; 
    48         } 
    49  
    50  
     41        
    5142        protected override void LoadContent() 
    5243        { 
    5344            Level = LuoKentta(); 
    5445            AsetaOhjaimet(); 
     46            LisaaLaskurit(); 
     47            AloitaPeli(); 
     48            Meter<int> pelaajan1Pisteet; 
     49            Meter<int> pelaajan2Pisteet; 
    5550 
    5651            IShape ympyra = Shapes.CreateCircle(20.0); 
    5752            PhysicsObject pallo = new PhysicsObject(10.0, ympyra); 
    58             AloitaPeli(); 
    59  
    60  
     53             
    6154        } 
    6255 
     
    6760            kentta.BackgroundColor = Color.Black; 
    6861 
    69             IShape ympyra = Shapes.CreateCircle(20.0); 
     62            IShape ympyra = Shapes.CreateCircle(15.0); 
    7063            pallo = new PhysicsObject(10.0, ympyra); 
    7164            pallo.X = -200.0; 
    7265            pallo.Y = 0.0; 
    73             pallo.Restitution = 5.0; 
     66            pallo.Restitution = 1.1; 
    7467            kentta.Objects.Add(pallo); 
    7568 
    76           maila1 =  LuoMaila(kentta.Left + 20.0, 0.0, kentta); 
     69          maila1 =  LuoMaila(kentta.Left +20.0, 0.0, kentta); 
    7770          maila2 =  LuoMaila(kentta.Right - 20.0, 0.0, kentta); 
    7871 
     
    8477        void AloitaPeli() 
    8578        { 
    86             Vector2D impulssi = new Vector2D(20000.0, 0.0); 
     79            Vector2D impulssi = new Vector2D(30000.0, 0.0); 
    8780            pallo.Hit(impulssi); 
    8881 
     
    9588            maila.X = x; 
    9689            maila.Y = y; 
    97             maila.Restitution = 1.0; 
     90            maila.Restitution = 1.1; 
    9891            kentta.Objects.Add(maila); 
    9992            return maila; 
     
    10295        void AsetaOhjaimet() 
    10396        { 
    104             Controls.Listen(Keys.A, ButtonPosition.Down, LiikutaMailaaYlos, "Pelaaja 1: Liikuta mailaa ylös", maila1); 
    105             Controls.Listen(Keys.Z, ButtonPosition.Down, LiikutaMailaaAlas, "Pelaaja 1: Liikuta mailaa alas", maila1); 
     97            Controls.Listen(Keys.W, ButtonPosition.Down, LiikutaMailaa, "Pelaaja 1: Liikuta mailaa ylös", maila1, 550); 
     98            Controls.Listen(Keys.S, ButtonPosition.Down, LiikutaMailaa, "Pelaaja 1: Liikuta mailaa alas", maila1, -550); 
    10699 
    107             Controls.Listen(Keys.Up, ButtonPosition.Down, LiikutaMailaaYlos, "Pelaaja 2: Liikuta mailaa ylös", maila2); 
    108             Controls.Listen(Keys.Down, ButtonPosition.Down, LiikutaMailaaAlas, "Pelaaja 2: Liikuta mailaa alas", maila2); 
     100            Controls.Listen(Keys.Up, ButtonPosition.Down, LiikutaMailaa, "Pelaaja 2: Liikuta mailaa ylös", maila2, 550); 
     101            Controls.Listen(Keys.Down, ButtonPosition.Down, LiikutaMailaa, "Pelaaja 2: Liikuta mailaa alas", maila2, -550); 
     102 
     103        } 
     104        Meter<int> LuoPisteLaskuri(double x, double y) 
     105        { 
     106            Meter<int> laskuri = new Meter<int>(0, 0, 10); 
     107            ValueDisplay naytto = new ValueDisplay(this); 
     108            naytto.BindTo(laskuri); 
     109            naytto.X = x; 
     110            naytto.Y = y; 
     111            naytto.ValueColor = Color.White; 
     112            Add(naytto); 
     113            return laskuri; 
     114        } 
     115 
     116        void LisaaLaskurit() 
     117        { 
     118            pelaajan1Pisteet = LuoPisteLaskuri(Screen.Left + 100.0, Screen.Top - 100.0); 
     119            pelaajan2Pisteet = LuoPisteLaskuri(Screen.Right - 100.0, Screen.Top - 100.0); 
    109120 
    110121        } 
    111122 
     123        
     124 
    112125    } 
    113126} 
Note: See TracChangeset for help on using the changeset viewer.