Changeset 233


Ignore:
Timestamp:
2009-08-04 11:21:30 (11 years ago)
Author:
hemitopp
Message:
 
Location:
enni_h
Files:
11 added
1 edited

Legend:

Unmodified
Added
Removed
  • enni_h/Pong/Peli.cs

    r219 r233  
    2222    { 
    2323        PhysicsObject pallo; 
     24        PhysicsObject maila1; 
     25        PhysicsObject maila2; 
     26        Vector2D nopeusYlos = new Vector2D(0, 200); 
     27        Vector2D nopeusAlas = new Vector2D(0, -200); 
     28        Meter<int> pelaajan1Pisteet; 
     29        Meter<int> pelaajan2Pisteet; 
     30 
    2431 
    2532        protected override void LoadContent() 
     
    2734            Level = LuoKentta(); 
    2835            AloitaPeli(); 
     36            AsetaOhjaimet(); 
     37            LisaaLaskurit(); 
    2938 
    3039        } 
     
    4453            pallo.Restitution = 1.0; 
    4554 
     55            maila1 = LuoMaila(kentta.Left + 20.0, 0.0, kentta); 
     56            maila2 = LuoMaila(kentta.Right - 20.0, 0.0, kentta); 
     57 
     58 
    4659            kentta.CreateBorder(1.0, false); 
    4760 
     
    5568        } 
    5669 
    57         PhysicsObject LuoMaila(double x, double y Level kentta) 
     70        PhysicsObject LuoMaila(double x, double y, Level kentta) 
    5871        { 
    5972            IShape suorakulmio = Shapes.CreateRectangle(20.0, 100.0); 
     
    6477            kentta.Objects.Add(maila); 
    6578            return maila; 
     79 
     80        } 
     81        void AsetaOhjaimet() 
     82        { 
     83            Controls.Listen(Keys.A, ButtonPosition.Down, AsetaNopeus, "Pelaaja 1: Liikuta mailaa ylös", maila1, nopeusYlos); 
     84            Controls.Listen(Keys.A, ButtonPosition.Released, AsetaNopeus, null, maila1, Vector2D.Zero); 
     85            Controls.Listen(Keys.Z, ButtonPosition.Down, AsetaNopeus, "Pelaaja 1: Liikuta mailaa alas", maila1, nopeusAlas); 
     86            Controls.Listen(Keys.Z, ButtonPosition.Released, AsetaNopeus, null, maila1, Vector2D.Zero); 
     87 
     88            Controls.Listen(Keys.Up, ButtonPosition.Down, AsetaNopeus, "Pelaaja 2: Liikuta mailaa ylös", maila2, nopeusYlos); 
     89            Controls.Listen(Keys.Up, ButtonPosition.Released, AsetaNopeus, null, maila2, Vector2D.Zero); 
     90            Controls.Listen(Keys.Down, ButtonPosition.Down, AsetaNopeus, "Pelaaja 2: Liikuta mailaa alas", maila2, nopeusAlas); 
     91            Controls.Listen(Keys.Down, ButtonPosition.Released, AsetaNopeus, null, maila2, Vector2D.Zero); 
     92 
     93        } 
     94 
     95        bool AsetaNopeus( ControlEvent e ) 
     96        { 
     97            PhysicsObject maila = e.Parameter0.ToPhysicsObject(); 
     98            Vector2D nopeus = e.Parameter1.ToVector2D(); 
     99 
     100            if ( (nopeus.Y < 0) && (maila.Y < Level.Bottom) ) 
     101            { 
     102                maila.Velocity = Vector2D.Zero; 
     103                return false; 
     104            } 
     105            if ( (nopeus.Y > 0) && (maila.Y > Level.Top) ) 
     106            { 
     107                maila.Velocity = Vector2D.Zero; 
     108                return false; 
     109            } 
     110 
     111            maila.Velocity = nopeus; 
     112             
     113            return false; 
     114 
     115        } 
     116 
     117        void LisaaLaskurit() 
     118        { 
     119            pelaajan1Pisteet = LuoPisteLaskuri( Screen.Left + 100.0, Screen.Top - 100.0 ); 
     120            pelaajan2Pisteet = LuoPisteLaskuri(Screen.Right - 100.0, Screen.Top - 100.0); 
     121 
     122        } 
     123 
     124        Meter<int> LuoPisteLaskuri() 
     125        { 
     126            Meter<int> laskuri = new Meter<int>(0, 0, 10); 
     127            ValueDisplay naytto = new ValueDisplay(this); 
     128            naytto.BindTo(laskuri); 
     129            naytto.X = x; 
     130            naytto.Y = y; 
     131            naytto.ValueColor = Color.White; 
     132            Add(naytto); 
     133 
     134            return laskuri; 
    66135        } 
    67136 
Note: See TracChangeset for help on using the changeset viewer.