Changeset 46 for aki_s/Pong/Peli.cs
- Timestamp:
- 2009-07-21 11:30:36 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
aki_s/Pong/Peli.cs
r28 r46 25 25 PhysicsObject maila2; 26 26 27 bool LiikutaMailaa Ylos(ControlEvent e)27 bool LiikutaMailaa(ControlEvent e) 28 28 { 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)) 32 35 { 33 maila.Y += 10.0;36 maila.Y = uusiY; 34 37 } 35 38 36 39 return false; 37 40 } 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 51 42 protected override void LoadContent() 52 43 { 53 44 Level = LuoKentta(); 54 45 AsetaOhjaimet(); 46 LisaaLaskurit(); 47 AloitaPeli(); 48 Meter<int> pelaajan1Pisteet; 49 Meter<int> pelaajan2Pisteet; 55 50 56 51 IShape ympyra = Shapes.CreateCircle(20.0); 57 52 PhysicsObject pallo = new PhysicsObject(10.0, ympyra); 58 AloitaPeli(); 59 60 53 61 54 } 62 55 … … 67 60 kentta.BackgroundColor = Color.Black; 68 61 69 IShape ympyra = Shapes.CreateCircle( 20.0);62 IShape ympyra = Shapes.CreateCircle(15.0); 70 63 pallo = new PhysicsObject(10.0, ympyra); 71 64 pallo.X = -200.0; 72 65 pallo.Y = 0.0; 73 pallo.Restitution = 5.0;66 pallo.Restitution = 1.1; 74 67 kentta.Objects.Add(pallo); 75 68 76 maila1 = LuoMaila(kentta.Left + 69 maila1 = LuoMaila(kentta.Left +20.0, 0.0, kentta); 77 70 maila2 = LuoMaila(kentta.Right - 20.0, 0.0, kentta); 78 71 … … 84 77 void AloitaPeli() 85 78 { 86 Vector2D impulssi = new Vector2D( 20000.0, 0.0);79 Vector2D impulssi = new Vector2D(30000.0, 0.0); 87 80 pallo.Hit(impulssi); 88 81 … … 95 88 maila.X = x; 96 89 maila.Y = y; 97 maila.Restitution = 1. 0;90 maila.Restitution = 1.1; 98 91 kentta.Objects.Add(maila); 99 92 return maila; … … 102 95 void AsetaOhjaimet() 103 96 { 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); 106 99 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); 109 120 110 121 } 111 122 123 124 112 125 } 113 126 }
Note: See TracChangeset
for help on using the changeset viewer.