Changeset 2783
- Timestamp:
- 2012-06-05 09:48:11 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
2012/23/OsamaA/MyTemp/Pong/Pong/Pong/Pong.cs
r2779 r2783 9 9 public class Pong : PhysicsGame 10 10 { 11 Vector nopeusYlos = new Vector(0, 200); 12 Vector nopeusAlas = new Vector(0, -200); 11 Vector nopeusYlos = new Vector(0, 540); 12 Vector nopeusAlas = new Vector(0, -540); 13 Vector nopeusVasen = new Vector(-800, 0); 14 Vector nopeusOikea = new Vector(800, 0); 13 15 14 16 PhysicsObject ball; … … 43 45 ball.Color = Color.White; 44 46 ball.X = -200; 45 ball.Y = 0;47 ball.Y = -200; 46 48 ball.Restitution = 1.0; 47 49 ball.KineticFriction = 0.0; … … 49 51 Add(ball); 50 52 51 maila1 = LuoMaila ( Level.Left + 20.0, 0.0 ); 52 maila2 = LuoMaila ( Level.Right - 20.0, 0.0 ); 53 maila3 = LuoMaila2 (Level.Top - 20,0); 54 maila4 = LuoMaila2 ( Level.Bottom + 20); 53 maila1 = LuoMaila ( Level.Left + 20.0, 0.0, 20.0, 100.0); 54 maila2 = LuoMaila ( Level.Right - 20.0, 0.0, 20.0, 100.0 ); 55 maila3 = LuoMaila ( 0.0, Level.Bottom + 20.0, 100, 20); 56 maila4 = LuoMaila(0.0, Level.Top - 20.0, 100.0, 20.0); 57 58 maila1.Color = Color.DarkViolet; 59 maila2.Color = Color.Yellow; 60 maila3.Color = Color.Violet; 61 maila4.Color = Color.YellowGreen; 55 62 56 63 vasenReuna = Level.CreateLeftBorder(); … … 76 83 void AloitaPeli () 77 84 { 78 Vector impulssi = new Vector( 500.0,0);85 Vector impulssi = new Vector(250.0, 200.0); 79 86 ball.Hit(impulssi); 80 87 } 81 88 82 PhysicsObject LuoMaila( double x, double y 83 { 84 PhysicsObject maila = PhysicsObject.CreateStaticObject( 10.0, 100.0);89 PhysicsObject LuoMaila( double x, double y, double z, double xyzo) 90 { 91 PhysicsObject maila = PhysicsObject.CreateStaticObject(z, xyzo); 85 92 maila.Shape = Shape.Rectangle; 86 maila.Color = Color.White;87 93 maila.X = x; 88 94 maila.Y = y; … … 97 103 Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 98 104 99 Keyboard.Listen(Key.A, ButtonState.Down, AsetaNopeus, "P1:n maila ylös", maila1, nopeusYlos); 100 Keyboard.Listen(Key.A, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 101 Keyboard.Listen(Key.Z, ButtonState.Down, AsetaNopeus, "P1:n maila alas", maila1, nopeusAlas); 102 Keyboard.Listen(Key.Z, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 105 Keyboard.Listen(Key.W, ButtonState.Down, AsetaNopeus, "P1:n maila ylös", maila1, nopeusYlos); 106 Keyboard.Listen(Key.W, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 107 Keyboard.Listen(Key.S, ButtonState.Down, AsetaNopeus, "P1:n maila alas", maila1, nopeusAlas); 108 Keyboard.Listen(Key.S, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 109 Keyboard.Listen(Key.A, ButtonState.Down, AsetaNopeus, "P1:n maila vasen", maila3, nopeusVasen); 110 Keyboard.Listen(Key.A, ButtonState.Released, AsetaNopeus, null, maila3, Vector.Zero); 111 Keyboard.Listen(Key.D, ButtonState.Down, AsetaNopeus, "P1:n maila oikea", maila3, nopeusOikea); 112 Keyboard.Listen(Key.D, ButtonState.Released, AsetaNopeus, null, maila3, Vector.Zero); 103 113 104 114 Keyboard.Listen(Key.Up, ButtonState.Down, AsetaNopeus, "P2:n maila ylös", maila2, nopeusYlos); … … 106 116 Keyboard.Listen(Key.Down, ButtonState.Down, AsetaNopeus, "P2:n maila alas", maila2, nopeusAlas); 107 117 Keyboard.Listen(Key.Down, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 118 Keyboard.Listen(Key.Left, ButtonState.Down, AsetaNopeus, "P2:n maila vasen", maila4, nopeusVasen); 119 Keyboard.Listen(Key.Left, ButtonState.Released, AsetaNopeus, null, maila4, Vector.Zero); 120 Keyboard.Listen(Key.Right, ButtonState.Down, AsetaNopeus, "P2:n maila oikea", maila4, nopeusOikea); 121 Keyboard.Listen(Key.Right, ButtonState.Released, AsetaNopeus, null, maila4, Vector.Zero); 122 Keyboard.Listen(Key.Enter, ButtonState.Pressed, Reset, null); 108 123 } 109 124 void AsetaNopeus(PhysicsObject maila, Vector nopeus) … … 115 130 } 116 131 if ((nopeus.Y < 0) && (maila.Bottom < Level.Bottom)) 132 { 133 maila.Velocity = Vector.Zero; 134 return; 135 } 136 if ((nopeus.X > 0) && (maila.Right > Level.Right)) 137 { 138 maila.Velocity = Vector.Zero; 139 return; 140 } 141 if ((nopeus.X < 0) && (maila.Left < Level.Left)) 117 142 { 118 143 maila.Velocity = Vector.Zero; … … 152 177 pelaajan2pisteet.Value += 1; 153 178 } 154 if (kohde == oikeaReuna)179 else if (kohde == oikeaReuna) 155 180 { 156 181 pelaajan1pisteet.Value += 1; 157 182 } 158 if (kohde == ylaReuna)183 else if (kohde == ylaReuna) 159 184 { 160 185 pelaajan1pisteet.Value += 1; 161 186 } 162 if (kohde == alaReuna)187 else if (kohde == alaReuna) 163 188 { 164 189 pelaajan2pisteet.Value += 1; 165 190 } 191 192 if (pelaajan1pisteet.Value > 9) 193 { 194 PhysicsEnabled = false; 195 MessageDisplay.Add("Pelaaja 1 voitti!"); 196 197 } 198 else if (pelaajan2pisteet.Value > 9) 199 { 200 PhysicsEnabled = false; 201 MessageDisplay.Add("Pelaaja 2 voitti!"); 202 } 203 204 } 205 void Reset() 206 { 207 pelaajan1pisteet.Value = 0; 208 pelaajan2pisteet.Value = 0; 209 ball.Destroy(); 210 ball = new PhysicsObject(20.0, 20.0); 211 ball.Shape = Shape.Circle; 212 ball.Color = Color.White; 213 ball.X = -200; 214 ball.Y = -200; 215 ball.Restitution = 1.0; 216 ball.KineticFriction = 0.0; 217 ball.CanRotate = true; 218 Add(ball); 219 AddCollisionHandler(ball, KasittelePallonTormays); 220 PhysicsEnabled = true; 221 AloitaPeli(); 166 222 } 167 223 }
Note: See TracChangeset
for help on using the changeset viewer.