Changeset 49
- Timestamp:
- 2009-07-21 11:31:30 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
aki_p/Pong/Peli.cs
r24 r49 21 21 public class Peli : PhysicsGame 22 22 { 23 const double mailanNopeus = 200.0; 23 24 PhysicsObject pallo; 25 PhysicsObject maila1; 26 PhysicsObject maila2; 24 27 25 28 protected override void LoadContent() 26 29 { 27 30 Level = LuoKentta(); 31 AsetaOhjaimet(); 28 32 AloitaPeli(); 33 } 34 35 PhysicsObject LuoMaila(double x, double y, Level kentta) 36 { 37 IShape suorakulmio = Shapes.CreateRectangle(20.0, 100.0); 38 PhysicsObject maila = PhysicsObject.CreateStaticObject(suorakulmio); 39 maila.X = x; 40 maila.Y = y; 41 maila.Restitution = 1.0; 42 kentta.Objects.Add(maila); 43 return maila; 29 44 } 30 45 … … 41 56 kentta.Objects.Add(pallo); 42 57 43 IShape suorakulmio = Shapes.CreateRectangle(20.0, 100.0); 44 PhysicsObject maila = PhysicsObject.CreateStaticObject(suorakulmio); 45 maila.X = kentta.Left + 20.0; 46 maila.Y = 0.0; 47 maila.Restitution = 1.0; 48 kentta.Objects.Add(maila); 49 58 maila1 = LuoMaila(kentta.Left + 20.0, 0.0, kentta); 59 maila2 = LuoMaila(kentta.Right - 20.0, 0.0, kentta); 60 50 61 kentta.CreateBorder(1.0, false); 51 62 52 63 return kentta; 64 } 65 66 void AsetaOhjaimet() 67 { 68 Controls.Listen(Keys.A, ButtonPosition.Down, LiikutaMailaa, "Pelaaja 1: Liikuta mailaa ylös", maila1, mailanNopeus); 69 Controls.Listen(Keys.Z, ButtonPosition.Down, LiikutaMailaa, "Pelaaja 1: Liikuta mailaa alas", maila1, -mailanNopeus); 70 71 Controls.Listen(Keys.Up, ButtonPosition.Down, LiikutaMailaa, "Pelaaja 2: Liikuta mailaa ylös", maila2, mailanNopeus); 72 Controls.Listen(Keys.Down, ButtonPosition.Down, LiikutaMailaa, "Pelaaja 2: Liikuta mailaa alas", maila2, -mailanNopeus); 73 74 AsetaGamePadOhjaimet(PlayerIndex.One, maila1); 75 AsetaGamePadOhjaimet(PlayerIndex.Two, maila2); 76 } 77 78 void AsetaGamePadOhjaimet(PlayerIndex pelaajaNumero, PhysicsObject maila) 79 { 80 Controls.Listen(pelaajaNumero, Buttons.DPadUp, ButtonPosition.Down, LiikutaMailaa, "Liikuta mailaa ylös", maila, mailanNopeus); 81 Controls.Listen(pelaajaNumero, Buttons.DPadDown, ButtonPosition.Down, LiikutaMailaa, "Liikuta mailaa alas", maila, -mailanNopeus); 82 } 83 84 bool LiikutaMailaa(ControlEvent e) 85 { 86 PhysicsObject maila = e.Parameter0.ToPhysicsObject(); 87 double nopeus = e.Parameter1.ToDouble(); 88 double sekuntejaKulunut = e.Time.ElapsedGameTime.TotalSeconds; 89 double uusiY = maila.Y + nopeus * sekuntejaKulunut; 90 91 if ((Level.Bottom < maila.Y) && (uusiY < Level.Top)) 92 { 93 maila.Y = uusiY; 94 } 95 96 return false; 53 97 } 54 98
Note: See TracChangeset
for help on using the changeset viewer.